2

寻找一种方法来干净地覆盖 Doctrine / Symfony 中的 databases.yml 的值以使用我自己的本地设置?

这个想法不涉及databases.yml,而是使用某种本地未版本化文件来覆盖该默认值。

我正在尝试找出尚未取得多大成功的原因:/

4

2 回答 2

1

对于这种包含依赖于环境(开发、测试、登台、生产……)的配置文件,我通常每个环境使用一个文件,并且所有文件都致力于源代码控制。

例如,我可以:

  • databases.yml== 开发版本,当项目从开发计算机上的源代码控制中签出时,它将起作用。
  • databases.testing.yml
  • databases.staging.yml
  • databases.production.yml


然后,在构建将部署到不同环境的.tag.gz (或类似的)存档时,我将与目标对应的文件复制到默认文件。

例如,在创建将部署在生产服务器上的存档时,我将复制databases.production.ymldatabases.yml存档中的 , 。

这样,应用程序始终使用databases.yml,无论它部署在什么环境中——并且所有可能的配置都提交到源代码控制。


当然,如果您有一些打包/构建过程,这会更好 - 而且不要只是手动通过 FTP 将文件上传到服务器......

于 2010-07-13T18:41:08.467 回答
0

我通常将 database.yml 添加到 svn:ignore 并提交 database.yml.sample。

本地会将 database.yml.sample 复制为 database.yml 并添加自己的值。

这样,database.yml 文件就不会被意外提交。

于 2010-10-25T09:15:03.123 回答