如何在rails中使用jsonb

我有一个使用Postgresql 9.4作为后端的rails项目。 我有这样的列:

t.json :slot_details, null: false, default: {} 

如何从JSON将其更改为JSONB? 我应该添加索引,并将更改为JSONB吗?

要进行迁移,您可以执行以下操作。 在这种情况下,有效负载最初是一个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,请查看本文

以下是它如何与Rails 4.2一起使用

 t.jsonb :slot_details, index: true, default: {} 

上面的答案给我带来了错误。