🐬
【Flyway】gradleでのコマンド実行でconfファイルを指定する
概要
JVM言語を使用する時、DBのマイグレーションツールはFlywayを使用することが多いと思います。Flywayはコマンドでマイグレーションの実行を出来るのですが、複数環境ある場合(テスト・ステージング・本番など)、DBの接続先をに分けたいことがあると思います。
今回はFlywayをgradleで使う場合に、どう設定等行えばいよいのかメモ書きします。
前提など
- Flywayのバージョンは
7.12.1
とします。 - Flywayの概要とgradleでのコマンドの内容は、Flyway利用手順メモの記事を参照ください。
- DBはOracleを使用します。Oracleでの接続URLについては、OCI Database(DBaaS) の PDB に Java の JDBC Thin Driver で接続してみる。(Oracle Cloud Infrastructure)の記事を参照ください。
- 接続先の管理は、環境毎にconfファイルを作成する形とします。
設定・コマンドのサンプル
こちらのドキュメントにある通り、まずはbuild.gradle
にFlywayの設定を追加します。
build.gradle
plugins {
id "org.flywaydb.flyway" version "7.12.1"
}
接続先情報のファイルを環境毎に用意します。
flyway_local.conf
flyway.url=jdbc:oracle:thin:@//localhost:1521/ORCLPDB
flyway.user=TEST_LOCAL
flyway.password=password
こちらのドキュメントにある通り、confファイルを指定してflywayのgradleを実行します。
gradle -Dflyway.configFiles=resources/flyway_local.conf flywayInfo
Discussion