Rails 和 jsonb 类型 "jsonb" 不存在
Rails and jsonb type "jsonb" does not exist
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
希望这对处于相同情况的人有所帮助。
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.4postgres=# SHOW SERVER_VERSION;
server_version
----------------
9.1
所以我只需要将我的 postgresql 升级到 9.4。
顺便说一下,我按照 this article 进行了升级,我发现它非常方便。
现在:
postgres=# SHOW SERVER_VERSION;
server_version
----------------
9.4.1
希望这对处于相同情况的人有所帮助。