Rails rake db:migrate选项不会覆盖现有表

时间:2019-03-21 12:29:38

标签: ruby-on-rails ruby ruby-on-rails-5 rake

是否有一个rake db:migrate选项来防止rake覆盖具有相同模式的现有表?我还将接受一个选项,该选项可以防止覆盖现有表,而无论模式如何。我本以为不覆盖将是默认设置,并且需要使用--force标志来实现。

1 个答案:

答案 0 :(得分:2)

在迁移中,您可以在执行代码之前检查表或列是否存在:

unless table_exists?(:test)
  # do something
end

unless column_exists?(:test)
  # do something
end