2017-10-04 10 views
2

flywaydbで適用された移行が削除された場合(DB schema_versionテーブルと移行SQLの両方のエントリ)、アプリケーション(クラスパスにflywayを含むSpringフレームワークで書かれています)は起動時にクラッシュする無効なチェックサムのFlywayDBの移行の削除

マイグレーションファイルとDBエントリの両方が削除されたときに実際に(私はそれをテストしました)アプリケーションはちょっとうまく始まりましたが、少し混乱しました。

フライウェイはどのようにチェックサムを計算しますか?適用されている移行ファイルの内容のみに基づいているのですか、それとも以前の移行も考慮されていますか?

また、ファイルとテーブルエントリの両方が削除されている場合、既に適用されている移行を安全に削除できますか?

答えて

2

ここには多くの質問があります。あなたの主な質問については、この動作はignoreMissingMigrationsフラグによって制御されます。 https://flywaydb.org/documentation/commandline/migrate

チェックサムは、移行ファイルの内容に基づいて計算されます(Git CRLF変換による行末を無視します)。

マイグレーションファイルとメタデータテーブルのエントリの両方が削除されている場合、マイグレーションはもはやそれについて何も知らない。ただし、後でデータベーススキーマを再作成することに影響する可能性があるため、安全であるとは限りません。

関連する問題