ruby-on-rails - Rails 4 JSON 属性类型不适用于 Postgres

标签 ruby-on-rails json postgresql

我从与我合作的人那里 fork 了一个存储库,我只是想启动并运行我的开发环境。其中一个迁移具有 json 属性,我们将 Postgres 用于开发和生产:

class CreateExams < ActiveRecord::Migration
  def change
    create_table :exams do |t|
      t.belongs_to :user
      t.json :exam
      t.timestamps
    end
  end
end

数据库.yml

development:
  adapter: postgresql
  database: examgen_development
  host: localhost

当我运行 rake db:migrate 时,我收到一个错误,这让我相信 PG 不支持 JSON 列类型:

PG::Error: ERROR:  type "json" does not exist

但我知道 Postgres 9.2 支持 JSON(即 http://www.postgresql.org/docs/devel/static/datatype-json.html )。

有趣的是,当我检查使用“psql”的 PG 版本时,它显示 9.0.4。而当我使用“postgres”时,它显示 9.2.1。所以我不确定我使用的是什么版本以及如何来回切换。

psql --version
psql (PostgreSQL) 9.0.4

postgres --version
postgres (PostgreSQL) 9.2.1

有人知道为什么我会收到 Postgres 错误吗?

最佳答案

好的,事实证明我曾经通过自制软件安装过 postgres,并且在不同的时间也使用过 Postgres.app 来安装过。我通过检查“psql”和“postgres”的版本开始意识到这一点,并注意到了区别。

psql --version
psql (PostgreSQL) 9.0.4

postgres --version
postgres (PostgreSQL) 9.2.4

我使用他们的文档卸载了 Postgres.app here然后使用自制软件确保我使用的是最新版本的 postgres。

关于ruby-on-rails - Rails 4 JSON 属性类型不适用于 Postgres,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17889885/

相关文章:

ruby-on-rails - 如何在rails中自定义json输出?

javascript - JSON - Javascript - 如何通过搜索值列表来搜索数组项

node.js - sql_error_code = 28000 FATAL 登录工作 API

sql - 计算每个月的累积变化 - Postgres SQL 问题

ruby-on-rails - rails 4 表格 : has_many through: checkboxes

ruby-on-rails - Ruby - 为什么这个回调函数不起作用

ruby-on-rails - Rails 和 iOS 应用程序,身份验证问题

java - 使用 Java 下载 UTF-16 JSON 字符串

python - 从 JSON 列中提取值非常慢

postgresql - 在面板数据上按组、时间和日期创建条件变量