Ruby on rails 如何保护database.yml中存在的数据库凭据

Ruby on rails 如何保护database.yml中存在的数据库凭据,ruby-on-rails,security,password-protection,Ruby On Rails,Security,Password Protection,如何保护config/database.yml中使用的连接凭据。如何保护数据库设置的用户名、密码和主机信息 local: &local adapter: mysql2 encoding: utf8 reconnect: false username: foo password: bar host: localhost 你没有。在某个时候,你必须把这些东西放进去,而且必须是纯文本的 这通常是部署期间的一个问题,您不希望任何对存储库具有读取权限的人看到您的部署服务器

如何保护
config/database.yml
中使用的连接凭据。如何保护数据库设置的用户名、密码和主机信息

local: &local
  adapter: mysql2
  encoding: utf8
  reconnect: false
  username: foo
  password: bar
  host: localhost

你没有。在某个时候,你必须把这些东西放进去,而且必须是纯文本的

这通常是部署期间的一个问题,您不希望任何对存储库具有读取权限的人看到您的部署服务器数据库配置

我通过一个定制的capistrano任务将database.yml从服务器主目录复制(或符号链接)到应用程序中来解决这个问题。 (因此,在我的repo中有一个空白的database.yml,每当我发布一个新版本时,它就会被服务器上已经存在的秘密版本覆盖)

我在这里写到:


至于在开发时不共享:只需将database.yml放入.gitignore中,它就不会被提交

将配置文件进行符号链接不是比每次复制更好的解决方案吗?