rails 迁移中指定的默认值将来会覆盖列值吗?
Will default value specified in rails migration overwrite column values in the future?
我有一个向用户添加外键的迁移 table。
[timestamp]_add_group_id_to_users.rb
在此迁移文件中,我为其指定了一个默认值:
def self.up
add_column :users, :group_id, :integer, :default => 1
end
但是假设用户现在 group_id: 4
一段时间后会发生什么
另一个功能将被推向生产?
所有的迁移文件会再次运行吗?
group_ids 的用户会被覆盖吗?
我应该指定类似 "overwrite it if group_id is nil but don't do it if it's not and if it's different from 1" 的内容吗?
迁移是累加的,意味着只会执行新的迁移。
我有一个向用户添加外键的迁移 table。
[timestamp]_add_group_id_to_users.rb
在此迁移文件中,我为其指定了一个默认值:
def self.up
add_column :users, :group_id, :integer, :default => 1
end
但是假设用户现在 group_id: 4
一段时间后会发生什么
另一个功能将被推向生产?
所有的迁移文件会再次运行吗? group_ids 的用户会被覆盖吗?
我应该指定类似 "overwrite it if group_id is nil but don't do it if it's not and if it's different from 1" 的内容吗?
迁移是累加的,意味着只会执行新的迁移。