20

Rails 3 では、db:migrateタスクはどの移行を実行するかをどのように決定しますか?

次の使用例を検討してください。

  • 開発者 A は、自分の機能ブランチでタイムスタンプ t1 に移行を作成します
  • 開発者 B は、自分の機能ブランチでタイムスタンプ t2 に移行を作成します
  • 開発者 B は自分のブランチをマージdb:migrateし、サーバー上で実行されます
  • 開発者 A は自分のブランチをマージします

t1 の方が早いので、開発者 A の移行は実行されますか?

テーブルに気付きましたschema_migrations。まだ実行されていない移行が実行されるかどうか疑問に思っています。

4

1 に答える 1

22

あなたの推測は正しいです - にない移行はschema_migrations実行され、タイムスタンプの昇順で実行されます。

この場合、次回db:migrateは A のマージ後に実行され、移行 t1 が実行されます。

于 2013-07-03T08:30:22.780 に答える