Среди результатов, которые я нашел, конфигурация была либо выполнена с жестко запрограммированными данными: р>
val database = Database.connect(
url = "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1",
user = "root",
driver = "org.h2.Driver",
password = "",
)
или использование переменных системной среды: Как подключиться к Postgres с помощью Kotlin/Ktor с запуском плагина
Насколько я понял, использовать переменные без раскрытия им мне пришлось создать файл .properties, что я и сделал. Однако я не знаю, как загрузить его значения в проект Ktor. Я бы хотел, чтобы мой файл application.yaml выглядел так:
postgres:
url: $POSTGRES_URL
user: $POSTGRES_USER
password: $POSTGRES_PASSWORD
Что я пробовал:
- Я создал файлы конфигурации development.properties и Production.properties в корне проекта со следующим содержимым:
POSTGRES_USER=
POSTGRES_PASSWORD=
- В моем файле Databases.kt я попытался получить значения из файла свойств, но они имеют значение NULL
val properties = Properties()
val propertiesFile = File("development.properties")
if (!propertiesFile.exists()) {
throw FileNotFoundException("Postgres configuration file not found")
}
val url = properties.getProperty("POSTGRES_URL")
val user = properties.getProperty("POSTGRES_USER")
val password = properties.getProperty("POSTGRES_PASSWORD")
println(url)
println(user)
println(password)
// val database =
// Database.connect(
// url,
// user = user,
// driver = "org.h2.Driver",
// password = password
// )
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... le-in-ktor
Мобильная версия