簡體   English   中英

如何在不將密碼放入Vapor 3中的configure.swift的情況下配置Fluent / MySQL數據庫連接?

[英]How do I configure a Fluent/MySQL database connection without putting my password in configure.swift in Vapor 3?

除了“向您的服務注冊DatabasesConfig結構”之外, Vapor 3文檔沒有說明數據庫配置。

教程(例如這個 )建議您在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配置文件。 這個功能完全消失了嗎? 我在當前的文檔中找不到任何提及它。

最常用的方法是使用環境變量。 您可以在Xcode方案或終端中設置它們:

export DB_PASSWORD=root

然后在您的配置中獲取它:

guard let password = Environment.get("DB_PASSWORD") else {
    throw Abort(.internalServerError)
}

您可以添加環境變量,並將其加載為:

Environment.get("MY_VAR")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM