diff --git a/build.sbt b/build.sbt index 176eb860..645268b4 100644 --- a/build.sbt +++ b/build.sbt @@ -10,7 +10,7 @@ val Library = new { val metricsV = "4.2.19" val cats = "2.0.0" val logback = "1.4.11" - val flyway = "8.5.13" + val flyway = "9.22.2" } val logback = "ch.qos.logback" % "logback-classic" % Version.logback diff --git a/libats-db/src/main/resources/reference.conf b/libats-db/src/main/resources/reference.conf index 7c6f6ee4..d373b589 100644 --- a/libats-db/src/main/resources/reference.conf +++ b/libats-db/src/main/resources/reference.conf @@ -1,6 +1,7 @@ ats.database { migrate = true migrate = ${?DB_MIGRATE} + flyway.clean-disabled = false skipMigrationCheck = false skipMigrationCheck = ${?SKIP_MIGRATION_CHECK} asyncMigrations = false diff --git a/libats-db/src/main/scala/com/advancedtelematic/libats/db/LibatsFlyway.scala b/libats-db/src/main/scala/com/advancedtelematic/libats/db/LibatsFlyway.scala index 2f618589..43dcd7f8 100644 --- a/libats-db/src/main/scala/com/advancedtelematic/libats/db/LibatsFlyway.scala +++ b/libats-db/src/main/scala/com/advancedtelematic/libats/db/LibatsFlyway.scala @@ -33,6 +33,10 @@ protected [libats] object LibatsFlyway { flywayConfig.table(dbConfig.getString("flyway.schema-table")) } + if (dbConfig.hasPath("flyway.clean-disabled")) { + flywayConfig.cleanDisabled(dbConfig.getBoolean("flyway.clean-disabled")) + } + if (dbConfig.hasPath("flyway.schema")) { flywayConfig.schemas(dbConfig.getString("flyway.schema")) } else if (dbConfig.hasPath("database")) { diff --git a/libats-slick/src/main/scala/com/advancedtelematic/libats/test/DatabaseSpec.scala b/libats-slick/src/main/scala/com/advancedtelematic/libats/test/DatabaseSpec.scala index 798ecbae..3d962828 100644 --- a/libats-slick/src/main/scala/com/advancedtelematic/libats/test/DatabaseSpec.scala +++ b/libats-slick/src/main/scala/com/advancedtelematic/libats/test/DatabaseSpec.scala @@ -64,6 +64,7 @@ trait DatabaseSpec[P <: BasicProfile] extends BeforeAndAfterAll { Flyway.configure() .dataSource(url, user, password) .schemas(schemaName) + .cleanDisabled(false) .load() }