diff --git a/server/src/main/kotlin/suwayomi/tachidesk/server/database/DBManager.kt b/server/src/main/kotlin/suwayomi/tachidesk/server/database/DBManager.kt index b6d93b82..4c4e9282 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/server/database/DBManager.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/server/database/DBManager.kt @@ -9,7 +9,9 @@ package suwayomi.tachidesk.server.database import de.neonew.exposed.migrations.loadMigrationsFrom import de.neonew.exposed.migrations.runMigrations +import mu.KotlinLogging import org.jetbrains.exposed.sql.Database +import org.jetbrains.exposed.sql.DatabaseConfig import org.kodein.di.DI import org.kodein.di.conf.global import org.kodein.di.instance @@ -17,14 +19,26 @@ import suwayomi.tachidesk.server.ApplicationDirs import suwayomi.tachidesk.server.ServerConfig object DBManager { + val db by lazy { val applicationDirs by DI.global.instance() - Database.connect("jdbc:h2:${applicationDirs.dataRoot}/database", "org.h2.Driver") + Database.connect( + "jdbc:h2:${applicationDirs.dataRoot}/database", + "org.h2.Driver", + databaseConfig = DatabaseConfig { + useNestedTransactions = true + } + ) } } +private val logger = KotlinLogging.logger {} + fun databaseUp(db: Database = DBManager.db) { - db.useNestedTransactions = true + // call db to initialize the lazy object + logger.info { + "Using ${db.vendor} database version ${db.version}" + } val migrations = loadMigrationsFrom("suwayomi.tachidesk.server.database.migration", ServerConfig::class.java) runMigrations(migrations)