如您所知,您必须在 config/database.yml 文件中为数据库提供正确的数据库名称、用户名和密码,否则您的 Rails 应用程序将无法运行。
在默认设置中,您的密码在 config/database.yml 文件中以纯文本形式显示。如果您的应用位于免费的 GitHub 存储库中,那么您的密码就是公共信息。对于严肃的应用程序来说,这不是一个可行的选择。(如果您不将此密码用于其他任何用途,则可以进行教程练习。)
到目前为止,我有一个对我有用的解决方案,但我想知道是否有更好的解决方案。您可以在https://github.com/jhsu802701/bsf看到我部署的示例。
我所做的是设置 config/database.yml 文件以编程方式为开发环境提供用户名和密码。对于开发环境,我将命令添加到 config/database.yml 脚本以获取开发环境用户名(这是我使用的 Debian Linux 设置的常规用户名)和空白密码。(我给我的用户名 Postgres 超级用户权限。)对于生产环境,我在部署脚本中添加了一个命令,该命令从我帐户其他位置的文件中获取用户名和密码,并将此信息写入 config/database.yml 文件。
有更好的解决方案吗?
是否有涵盖此内容的 Ruby gem?如果没有,我正在考虑创建一个。