この質問では、次のような状況を特に見ています。
- 機能ブランチをマスターにマージする
- フィーチャー ブランチには新しい移行があります。
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 は、サーバーを移行するときに起こることと一致します。移行を最初から実行するときに起こることと、これが一致しなくなっても問題はありませんか?