24 lines
758 B
Kotlin
24 lines
758 B
Kotlin
package com.android.trisolarisserver.config
|
|
|
|
import org.slf4j.LoggerFactory
|
|
import org.springframework.boot.ApplicationArguments
|
|
import org.springframework.boot.ApplicationRunner
|
|
import org.springframework.jdbc.core.JdbcTemplate
|
|
|
|
abstract class PostgresSchemaFix(
|
|
private val jdbcTemplate: JdbcTemplate
|
|
) : ApplicationRunner {
|
|
|
|
protected val logger = LoggerFactory.getLogger(this::class.java)
|
|
|
|
override fun run(args: ApplicationArguments) {
|
|
val version = jdbcTemplate.queryForObject("select version()", String::class.java) ?: return
|
|
if (!version.contains("PostgreSQL", ignoreCase = true)) {
|
|
return
|
|
}
|
|
runPostgres(jdbcTemplate)
|
|
}
|
|
|
|
protected abstract fun runPostgres(jdbcTemplate: JdbcTemplate)
|
|
}
|