1

ブランチ ( new_branch) を作成するとします。そのブランチで、移行 ( migration_1) が作成されます。

その後、 に戻りmasterます。次に、移行 ( migration_2) を作成し、Heroku にプッシュして、Heroku で移行を実行します。

その後、 にマージnew_branchし、 Herokumasterにプッシュします。master

Heroku で移行を実行しようとすると、既に実行されているmigration_1前に作成されたため、スキップされずに実行されませんか?migration_2

4

1 に答える 1

6

各移行には移行タイムスタンプが添付されています。正常に適用された移行のリストは、Rails アプリケーション内のスキーマ テーブルに格納されます。

を実行するmigration_2と、このエントリがデータベースに追加されます。がmigration_1マージされると、Rails はスキーマ テーブルにエントリがないため変更がまだ適用されていないことを検出し、それを実行します。

于 2012-10-03T12:56:45.733 に答える