在Rails中合并分支时,在schema.rb中更正列排序(git / db:migrate)

时间:2013-07-03 09:29:25

标签: ruby-on-rails ruby-on-rails-3 git branching-and-merging rails-migrations

在这个问题中,我特别关注以下情况:

  • 将功能分支合并为主
  • 功能分支有一个新的迁移,例如:123_add_foo.rb
  • 主分支具有新的迁移,这些迁移不在功能分支中,例如:456_add_bar.rb

选项1

合并schema.rb文件时,结果将为

形式
create_table "something", :force => true do |t|
  ...
  t.string   "foo" # foo was added to schema.rb earlier, so appears first
  t.string   "bar"
end

选项2

但是,运行rake db:migrate会导致重新排序为

create_table "something", :force => true do |t|
  ...
  t.string   "bar" # bar was added to the master branch first
  t.string   "foo" # so this appears before foo here
end

问题

哪个schema.rb应存储在版本控制中?

选项2与迁移服务器时会发生的情况相匹配 - 这是否与从头开始迁移时不会发生的情况相匹配?

0 个答案:

没有答案