繁体   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