Open2

【Flyway】チェックサムのミスマッチ対応(checksum mismatch)

ふじしろふじしろ

環境

  • M2 mac
  • Kotlin x SpringBoot
  • Gradle

発生エラー

 Error occurred while executing flywayMigrate
  Validate failed: Migrations have failed validation
  Migration checksum mismatch for migration version 20231111222233
  -> Applied to database : 1234567890
  -> Resolved locally    : 9876543210. Either revert the changes to the migration, or run repair to update the schema history.
  Need more flexibility with validation rules? Learn more: https://rd.gt/3AbJUZE

原因

エラーメッセージ内に記載がある

Migration checksum mismatch for migration version 20231111222233
マイグレーションバージョン 20231111222233 のマイグレーションチェックサムの不一致

チェックサムが一致しないから失敗している。

※チェックサムとは
https://wa3.i-3-i.info/word1240.html
https://e-words.jp/w/チェックサム.html

対応方法

エラーメッセージ内に記載がある

Either revert the changes to the migration, or run repair to update the schema history.
マイグレーションの変更を元に戻すか、'repair'を実行してスキーマ履歴を更新してください。

自分の環境の場合はGradleを仕様していたので、一旦flywayRepairを実行し、その後flywayMigrationを実行したところ問題なくマイグレーションに成功した。

https://documentation.red-gate.com/fd/gradle-task-flywayrepair-184127428.html