Allow using legacy database connections (#1785)
* Allow using legacy db connections * Lint * Description and docs
This commit is contained in:
@@ -125,6 +125,7 @@ data class DatabaseSettings(
|
||||
val databaseUrl: String,
|
||||
val databaseUsername: String,
|
||||
val databasePassword: String,
|
||||
val useHikariConnectionPool: Boolean,
|
||||
)
|
||||
|
||||
val androidCompat by lazy { AndroidCompat() }
|
||||
@@ -398,17 +399,19 @@ fun applicationSetup() {
|
||||
serverConfig.databaseUrl,
|
||||
serverConfig.databaseUsername,
|
||||
serverConfig.databasePassword,
|
||||
serverConfig.useHikariConnectionPool,
|
||||
) { vargs ->
|
||||
DatabaseSettings(
|
||||
vargs[0] as DatabaseType,
|
||||
vargs[1] as String,
|
||||
vargs[2] as String,
|
||||
vargs[3] as String,
|
||||
vargs[4] as Boolean,
|
||||
)
|
||||
}.distinctUntilChanged(),
|
||||
{ (databaseType, databaseUrl, databaseUsername, _) ->
|
||||
{ (databaseType, databaseUrl, databaseUsername, _, hikariCp) ->
|
||||
logger.info {
|
||||
"Database changed - type=$databaseType url=$databaseUrl, username=$databaseUsername, password=[REDACTED]"
|
||||
"Database changed - type=$databaseType url=$databaseUrl, username=$databaseUsername, password=[REDACTED], hikaricp=$hikariCp"
|
||||
}
|
||||
databaseUp()
|
||||
|
||||
|
||||
@@ -95,12 +95,30 @@ object DBManager {
|
||||
preserveKeywordCasing = false
|
||||
}
|
||||
|
||||
// Create a new HikariCP pool
|
||||
hikariDataSource = createHikariDataSource()
|
||||
return if (serverConfig.useHikariConnectionPool.value) {
|
||||
// Create a new HikariCP pool
|
||||
hikariDataSource = createHikariDataSource()
|
||||
|
||||
return Database
|
||||
.connect(hikariDataSource!!, databaseConfig = dbConfig)
|
||||
.also { db = it }
|
||||
return Database
|
||||
.connect(hikariDataSource!!, databaseConfig = dbConfig)
|
||||
} else {
|
||||
when (serverConfig.databaseType.value) {
|
||||
DatabaseType.POSTGRESQL ->
|
||||
Database.connect(
|
||||
"jdbc:${serverConfig.databaseUrl.value}",
|
||||
"org.postgresql.Driver",
|
||||
user = serverConfig.databaseUsername.value,
|
||||
password = serverConfig.databasePassword.value,
|
||||
databaseConfig = dbConfig,
|
||||
)
|
||||
DatabaseType.H2 ->
|
||||
Database.connect(
|
||||
"jdbc:h2:${Injekt.get<ApplicationDirs>().dataRoot}/database",
|
||||
"org.h2.Driver",
|
||||
databaseConfig = dbConfig,
|
||||
)
|
||||
}
|
||||
}.also { db = it }
|
||||
}
|
||||
|
||||
fun shutdown() {
|
||||
|
||||
Reference in New Issue
Block a user