2

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

  • 将功能分支合并到 master
  • 功能分支有一个新的迁移,例如:123_add_foo.rb
  • Master 分支有新的迁移,这些迁移不在功能分支中,例如: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 匹配迁移服务器时会发生的情况 - 这是否不再匹配从头开始运行迁移时会发生的情况?

4

0 回答 0