diff --git a/src/main/kotlin/com/example/Application.kt b/src/main/kotlin/com/example/Application.kt index f544811..2f8556f 100644 --- a/src/main/kotlin/com/example/Application.kt +++ b/src/main/kotlin/com/example/Application.kt @@ -9,6 +9,7 @@ import com.example.config.configureRouting import com.example.config.configureSecurity import com.example.config.configureSerialization import com.example.config.configureSession +import com.example.shared.applicationEnv import io.ktor.server.application.* fun main(args: Array) { @@ -16,6 +17,8 @@ fun main(args: Array) { } fun Application.module() { + this.log.info("current env: ${applicationEnv()}") + configureDatabase() configureDependencyInjection() configureHttp() diff --git a/src/main/kotlin/com/example/config/Database.kt b/src/main/kotlin/com/example/config/Database.kt index 3c5d911..b076928 100644 --- a/src/main/kotlin/com/example/config/Database.kt +++ b/src/main/kotlin/com/example/config/Database.kt @@ -7,6 +7,8 @@ import com.example.domain.model.CafeOrder import com.example.shared.CafeOrderStatus import com.example.shared.dummyMenuQueryList import com.example.shared.dummyUserQueryList +import com.example.shared.getPropertyBoolean +import com.example.shared.getPropertyString import com.zaxxer.hikari.HikariConfig import com.zaxxer.hikari.HikariDataSource import io.ktor.server.application.* @@ -27,7 +29,9 @@ import kotlin.random.Random fun Application.configureDatabase() { configureH2() connectDatabase() - initData() + if (getPropertyBoolean("db.initData", false)) { + initData() + } } @@ -45,11 +49,11 @@ fun Application.configureH2() { } -private fun connectDatabase() { +private fun Application.connectDatabase() { val config = HikariConfig().apply { - jdbcUrl = "jdbc:h2:mem:cafedb" - driverClassName = "org.h2.Driver" + jdbcUrl = getPropertyString("db.jdbcUrl") + driverClassName = getPropertyString("db.driverClassName") validate() } diff --git a/src/main/resources/application-local.conf b/src/main/resources/application-local.conf new file mode 100644 index 0000000..c19d484 --- /dev/null +++ b/src/main/resources/application-local.conf @@ -0,0 +1,10 @@ +ktor { + development = true + environment = "local" +} + +db { + jdbcUrl = "jdbc:h2:mem:cafedb" + driverClassName = "org.h2.Driver" + initData = true +} \ No newline at end of file diff --git a/src/main/resources/application-prod.conf b/src/main/resources/application-prod.conf new file mode 100644 index 0000000..1e06514 --- /dev/null +++ b/src/main/resources/application-prod.conf @@ -0,0 +1,10 @@ +ktor { + development = true + environment = "prod" +} + +db { + jdbcUrl = "jdbc:h2:mem:cafedb" + driverClassName = "org.h2.Driver" + initData = false +} \ No newline at end of file