为什么有些 Rails 项目使用多个具有不同扩展名(mysql、postgresql 等)的 database.yml 文件?

Why do some Rails projects use multiple database.yml files with different extensions (mysql, postgresql etc)?

我在 Gitlab

的源代码中看到过这个

设法 运行 捆绑包安装成功。但是,当使用 rails s 命令 运行 连接服务器时,会显示一个错误,提示缺少 database.yml。我的第一个想法是将 database.yml.mysql 重命名为 database.yml 但抵制了猴子补丁的诱惑。我想知道为什么这样做,这个约定背后的基本标准是什么。

由于 database.yml 由于各种原因不应提交源代码(他们的 .gitignore 明确地从回购中删除 database.yml),维护者倾向于将 .yml.template作为那些将分叉回购协议的人的指南。它并不是要重命名,而是要复制,因为重命名会删除模板。

多个扩展名(即 .mysql.postgres)只是为了让您知道在使用不同数据库时要复制什么。