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) }