25 lines
643 B
Kotlin
25 lines
643 B
Kotlin
package be.simplenotes.persistance
|
|
|
|
import be.simplenotes.shared.config.DataSourceConfig
|
|
import org.flywaydb.core.Flyway
|
|
import javax.sql.DataSource
|
|
|
|
internal class DbMigrationsImpl(
|
|
private val dataSource: DataSource,
|
|
private val dataSourceConfig: DataSourceConfig
|
|
) : DbMigrations {
|
|
override fun migrate() {
|
|
|
|
val migrationDir = when {
|
|
dataSourceConfig.jdbcUrl.contains("mariadb") -> "db/migration/mariadb"
|
|
else -> "db/migration/other"
|
|
}
|
|
|
|
Flyway.configure()
|
|
.dataSource(dataSource)
|
|
.locations(migrationDir)
|
|
.load()
|
|
.migrate()
|
|
}
|
|
}
|