rails迁移中指定的默认值是否会在将来覆盖列值?

时间:2015-11-16 13:51:04

标签: ruby-on-rails ruby-on-rails-3 activerecord

我有一个迁移,它将一个外键添加到users表中。

[timestamp]_add_group_id_to_users.rb

在此迁移文件中,我为其指定了默认值:

def self.up
  add_column :users, :group_id, :integer, :default => 1
end

但是,让我们说用户现在有group_id: 4一段时间后会发生什么 另一个功能将推向生产?

是否会再次运行所有迁移文件? 是否会覆盖用户的group_id?

我是否应该指定类似“如果group_id为nil则覆盖它,但如果不是,则不覆盖它,如果它与1不同”?

1 个答案:

答案 0 :(得分:1)

迁移是附加的,意味着只会执行新的迁移。