Spring Boot 2.1からFlyway 3.x, 4.x系で起動できない。Flywayのアップデートをしてください。

起動できません。Flyway 5.1以降にアップデートしましょう。

理由としては、spring boot 2.1.x系から以下のflywayのissueによって導入されたクラスに
spring-boot-autoconfigureが依存するようになったからです。
Introduce fluent configuration · Issue #1928 · flyway/flyway · GitHub

拙著ではございますが
以下の記事を参考にアップデートしてください。
[Spring Boot] Flyway 3系で作ったテーブルを Flyway 5系にアップデートする方法 | DevelopersIO

ざっくりまとめると、以下の段階を踏む必要があります。

Flyway 3.xをお使いの方

  • Flyway 4.xにアップデートする
  • Flyway 4.xにアップデートした状態でマイグレーションを実行する
  • Flyway 5.xにアップデートする
  • Spring Boot 2.1.xにアップデートする

Flyway 4.xをお使いの方

  • Flyway5.xにアップデートする
  • Spring Boot 2.1.xにアップデートする


Spring Bootのアップデートしようとしてこれに引っ掛かった。辛い。

追記: flyway4に上げようとしたら欠番で死んだよ


Caused by: org.flywaydb.core.api.FlywayException: Validate failed: Detected applied migration not resolved locally: 0092
みたいな感じで欠番のマイグレーションがあると
flyway4からsqlの番号が飛んでると死ぬようになったっぽい

flywayのlocationの指定方法の仕様が微妙に変わったっぽい。

- spring.flyway.locations=classpath:my/package/hogehoge/db/migration,db/migration
+ spring.flyway.locations=classpath:my/package/hogehoge/db/migration,classpath:db/migration