DBのマイグレーションにflywayを使用しています。
flywayのバージョンを変更して、いつものようにコマンドを実行すると、エラーが出るようになりました。
実行できていたはずのコマンドがエラーになり困っていましたが、一先ず解決したので共有します。
原因:バージョンが変わったことでflyway.configFileが使用できなくなった。
エラーが発生した時のバージョンは以下です。
・Apache Maven 3.6.0
・flyway-maven-plugin 6.0.8 (4.1.0から変更)
エラー例
$ mvn -Dflyway.configFile=src/main/resources/application-local.yml flyway:info
[INFO] Scanning for projects...
[INFO]
[INFO] --------------< jp.co.hoge.hoge.app:hoge-hoge-app >---------------
[INFO] Building hoge-hoge-app 0.1.0
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- flyway-maven-plugin:6.0.8:info (default-cli) @ hoge-hoge-app ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.462 s
[INFO] Finished at: 2020-04-03T08:50:08Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.flywaydb:flyway-maven-plugin:6.0.8:info (default-cli) on project hoge-hoge-app: org.flywaydb.core.api.FlywayException: Unknown configuration property: flyway.configFile -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
メッセージでUnknown configuration property: flyway.configFile
と表示されているように、
flywayのバージョンを変えてたことで(4.1.0 -> 6.0.8)、flyway.configFileが使用できなくなったようです。
(変更前は使えたのでプロパティがないとは疑えずはまった・・。)
ドキュメントで使用されていたプロパティに修正すると、エラーが解消されました。
修正前後
$ mvn -Dflyway.configFile=src/main/resources/application-local.yml flyway:info # 修正前
$ mvn -Dflyway.configFiles=src/main/resources/application-local.yml flyway:info # 修正後 (configFilesに変更)
ちなみにIssueも上がっていました。
https://github.com/buthomas/Cake.Flyway/issues/12
複数のconfigファイルをサポートする時に消えたっぽい?
https://github.com/flyway/flyway/issues/1624
はまる人は少数かと思いますが、参考になればと思います。
今回は以上です。