我继承了使用config/database.yml.sqlite
和config/database.yml.psql
代替config/database.yml
的项目。
为什么要这样做,我应该如何使用它?
如果我只是运行rake db:create
rails正在寻找config/database.yml
。我已经尝试过寻找一种方法来指定配置文件的名称,但没有运气。
我可以问那些我继承代码的人,但是经过一些谷歌搜索后,我在其他项目中看到了这种模式,并认为如果SO有答案它会很好。
答案 0 :(得分:5)
将database.yml添加到.gitignore文件中通常是很正常的,因为它可以包含密码等,因此应该远离Git仓库。
在这种情况下,将示例database.yml文件保存在回购中是很有用的,显示您想要的设置,比如Postgres数据库,如果您打算使用它,或者一个Sqlite数据库,如果您更喜欢它用于您的开发工作。然后,一旦克隆了回购,就可以快速设置。
您只需要运行:
cp config/database.yml.psql config/database.yml
然后将您自己的本地开发数据库密码添加到database.yml中,然后将其保留在repo之外,不与在同一项目中工作的任何其他开发人员共享。
答案 1 :(得分:0)
我实际上从未见过这种模式。在我看来,那些其他YAML文件是针对目标数据库进行了预编码的 - 预配置可以这么说。
同一个结果可以通过一个带有大量文档块的YAML文件来实现 - “这里是一个sqlite块,这里是一个Postgres块”等等。