ret*_*ant 3 postgresql ruby-on-rails rails-postgresql rails-activerecord jsonb
迁移应该是什么样?我想利用jsonb数组查询技术。
我会这样写迁移:
def change
reversible do |dir|
dir.up { change_column :models, :attribute, 'jsonb USING CAST(attribute AS jsonb)' }
dir.down { change_column :models, :attribute, 'json USING CAST(attribute AS json)' }
end
end
Run Code Online (Sandbox Code Playgroud)
我不知道这在性能上与其他解决方案相比如何,但是我在具有120,000条记录的表上进行了测试,每条记录有四json列,迁移该表花了我大约一分钟的时间。当然,我想这取决于json结构的复杂程度。
另外,请注意,如果您现有的记录的默认值为{},则必须添加到上述语句中default: {},因为否则您将拥有jsonb列,但默认值将保持为'{}'::json。
| 归档时间: |
|
| 查看次数: |
272 次 |
| 最近记录: |