ruby-on-rails - Rails 和 jsonb 类型 "jsonb"不存在

标签 ruby-on-rails postgresql jsonb

psql --version
psql (PostgreSQL) 9.4.1

rails -v
Rails 4.2.0

我通过这样的迁移添加了一个 jsonb 列

class AddPreferencesToUsers < ActiveRecord::Migration
  def change
    add_column :users, :preferences, :jsonb, null: false, default: '{}'
    add_index :users, :preferences, using: :gin
  end
end

我收到这个错误:

PG::UndefinedObject: ERROR:  type "jsonb" does not exist
LINE 1: SELECT 'jsonb'::regtype::oid

有什么帮助吗?

最佳答案

环顾四周,我通过运行正确的命令发现我的postgresql版本不是9.4

postgres=# SHOW SERVER_VERSION;
server_version 
----------------
9.1

所以我只需要将我的 postgresql 升级到 9.4。

顺便我关注了this article进行升级,我发现这非常方便。

现在:

postgres=# SHOW SERVER_VERSION;
 server_version 
----------------
 9.4.1

希望这对处于相同情况的人有所帮助。

关于ruby-on-rails - Rails 和 jsonb 类型 "jsonb"不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29393562/

相关文章:

javascript - Heroku 和 Rails 4 : Heroku isn't finding my nested folder under assets/javascripts

javascript - ajax放置请求不接受参数中的id

css - 在列中显示元素 (Rails)

json - 在 postgresql 更新触发器上测试数据类型

ruby-on-rails - 具有对象数组的 jsonb 上的索引

ruby-on-rails - 获取 state_machine 状态列表

sql - 使用 string_agg 时缺少表的 FROM 子句条目

python - 如何使用 flask-sqlalchemy 在竞争条件下确保一致的数据库更新

postgresql - Docker-Compose Postgresql 导入转储

json - 在 Postgres 中存储大型 JSON 数据是不可行的,那么有什么替代方案?