如何保护在config/database.yml中使用的连接凭据。如何保护我的数据库设置的用户名、密码和主机信息。
local: &local
adapter: mysql2
encoding: utf8
reconnect: false
username: foo
password: bar
host: localhost发布于 2012-01-16 19:13:20
你不需要。在某些时候,你必须把这些东西放进去,而且它必须是纯文本的。
在部署期间,这通常是一个问题,您不希望对存储库具有读取访问权限的任何人看到您的部署服务器数据库配置。
我使用了一个自定义的capistrano任务来解决这个问题,该任务将database.yml从服务器的主目录复制(或符号链接)到应用程序中。(所以在我的存储库中有一个空白的database.yml,每当我发布一个新版本时,它就会被服务器上已经存在的秘密版本覆盖)
我在这里写了这个:http://www.tigraine.at/2011/09/25/securely-managing-database-yml-when-deploying-with-capistrano/
至于在开发时不分享这一点:只需将database.yml放到.gitignore中,它就不会被提交
https://stackoverflow.com/questions/8879114
复制相似问题