【发布时间】:2019-11-30 13:57:22
【问题描述】:
已决定将某些字段从 int 更新为 bigint。
Rails 无法自动逆转这种迁移,因此建议我们必须同时创建一个up 和一个down 操作,同时添加一个using:。
问题在于,老实说,我似乎无法找到关于 using: 的功能以及建议 rails 的实际含义的文档(超出我的推断范围)。
考虑到这一点,在以下示例中:
-
using:是什么意思? -
String中的SQL用作using:的值是什么意思? (我可以推断,但我想要实际的定义)
class UpdateModelFieldType < ActiveRecord::Migration[5.2]
def change
reversible do |dir|
dir.up do
change_column :model,
:field,
:bigint,
using: 'field::bigint', algorithm: :concurrently
end
dir.down do
change_column :model,
:field,
:int,
using: 'field::int',
algorithm: :concurrently
end
end
end
end
【问题讨论】:
标签: ruby-on-rails postgresql activerecord database-migration rails-migrations