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.loadMigrationsFrom
import de.neonew.exposed.migrations.runMigrations import de.neonew.exposed.migrations.runMigrations
import mu.KotlinLogging
import org.jetbrains.exposed.sql.Database import org.jetbrains.exposed.sql.Database
import org.jetbrains.exposed.sql.DatabaseConfig
import org.kodein.di.DI import org.kodein.di.DI
import org.kodein.di.conf.global import org.kodein.di.conf.global
import org.kodein.di.instance import org.kodein.di.instance
@@ -17,14 +19,26 @@ import suwayomi.tachidesk.server.ApplicationDirs
import suwayomi.tachidesk.server.ServerConfig import suwayomi.tachidesk.server.ServerConfig
object DBManager { object DBManager {
val db by lazy { val db by lazy {
val applicationDirs by DI.global.instance<ApplicationDirs>() 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) { 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) val migrations = loadMigrationsFrom("suwayomi.tachidesk.server.database.migration", ServerConfig::class.java)
runMigrations(migrations) runMigrations(migrations)