Как настроить соединение с базой данных Fluent / MySQL, не вводя пароль в файл configure.swift в Vapor 3? - PullRequest
0 голосов
/ 18 декабря 2018

Документация Vapor 3 ничего не говорит о конфигурации базы данных, кроме как "зарегистрировать DatabasesConfig структуру в ваших службах."

Учебники (например, thisодин ) предлагает вам реализовать конфигурацию в файле App/configure.swift следующим образом:

let mysqlConfig = MySQLDatabaseConfig(
    hostname: "127.0.0.1",
    port: 3306,
    username: "root",
    password: "root",
    database: "mycooldb"
)
services.register(mysqlConfig)

Но мой файл configure.swift отслеживается git, и я не хочу фиксировать своиимя пользователя и пароль.

Как предоставить внешний файл конфигурации для обработки соединения с базой данных?

Похоже, что более ранние версии Vapor использовали файлы конфигурации JSON.Эта функциональность полностью исчезла?Я не могу найти упоминаний об этом в текущей документации.

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

Самый популярный способ сделать это - использовать переменные окружения.Вы можете установить их в схеме Xcode или в терминале:

export DB_PASSWORD=root

Затем получите его в своей конфигурации:

guard let password = Environment.get("DB_PASSWORD") else {
    throw Abort(.internalServerError)
}
0 голосов
/ 18 декабря 2018

Вы можете добавить переменную окружения и загрузить ее следующим образом:

Environment.get("MY_VAR")
...