我有一个以 Postgresql 9.4 作为后端的 Rails 项目。我有这样的专栏:
t.json :slot_details, null: false, default: {}
如何将其从 JSON 更改为 JSONB?我是否应该添加索引并将其更改为 JSONB?
最佳答案
要迁移它,您可以执行以下操作。本例中的 Payload 最初是一个 json 字段。
class AlterJsonbToJsonAndBack < ActiveRecord::Migration
def up
change_column :dynamics, :payload, 'jsonb USING CAST(payload AS jsonb)'
end
def down
change_column :dynamics, :payload, 'json USING CAST(payload AS json)'
end
end
要了解如何在 Rails 4.2 中查询 jsonb,请查看 this article
关于ruby-on-rails - 如何在 Rails 中使用 jsonb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27343231/