寻找一种方法来干净地覆盖 Doctrine / Symfony 中的 databases.yml 的值以使用我自己的本地设置?
这个想法不涉及databases.yml,而是使用某种本地未版本化文件来覆盖该默认值。
我正在尝试找出尚未取得多大成功的原因:/
寻找一种方法来干净地覆盖 Doctrine / Symfony 中的 databases.yml 的值以使用我自己的本地设置?
这个想法不涉及databases.yml,而是使用某种本地未版本化文件来覆盖该默认值。
我正在尝试找出尚未取得多大成功的原因:/
对于这种包含依赖于环境(开发、测试、登台、生产……)的配置文件,我通常每个环境使用一个文件,并且所有文件都致力于源代码控制。
例如,我可以:
databases.yml
== 开发版本,当项目从开发计算机上的源代码控制中签出时,它将起作用。databases.testing.yml
databases.staging.yml
databases.production.yml
然后,在构建将部署到不同环境的.tag.gz
(或类似的)存档时,我将与目标对应的文件复制到默认文件。
例如,在创建将部署在生产服务器上的存档时,我将复制databases.production.yml
到databases.yml
存档中的 , 。
这样,应用程序始终使用databases.yml
,无论它部署在什么环境中——并且所有可能的配置都提交到源代码控制。
当然,如果您有一些打包/构建过程,这会更好 - 而且不要只是手动通过 FTP 将文件上传到服务器......
我通常将 database.yml 添加到 svn:ignore 并提交 database.yml.sample。
本地会将 database.yml.sample 复制为 database.yml 并添加自己的值。
这样,database.yml 文件就不会被意外提交。