マルチデータソース(2つのRDB)を使っている場合に、FlywayのGradle PluginでflywayMigrateなどのタスクを実行し、両方のDBにマイグレーションを実行したい場合。
flyway { user = 'user1' password = 'pass1' url = 'jdbc:xxx://host1/db1' } def flyway2 = new org.flywaydb.core.Flyway() flyway2.setDataSource('jdbc:xxx://host2/db2', 'user2', 'pass2') flyway2.setLocations('filesystem:./src/main/resources/db_migration2') tasks['flywayMigrate'].doLast { flyway2.migrate() } // 他タスク(flywayClean, flywayInfo, ...)も同様
プラグインの機能としては提供されていないので、Gradle(Groovy)側のカスタマイズで対応してみました。