refactor deprecated api

This commit is contained in:
Aria Moradi
2022-11-07 22:47:30 +03:30
parent fcbc598732
commit 119b9db6b4

View File

@@ -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<ApplicationDirs>()
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)