From 119b9db6b4bd6d4ed59cd8cc49ad7c634a9e85cf Mon Sep 17 00:00:00 2001 From: Aria Moradi Date: Mon, 7 Nov 2022 22:47:30 +0330 Subject: [PATCH] refactor deprecated api --- .../tachidesk/server/database/DBManager.kt | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) 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)