![](/img/trans.png)
[英]In CakePHP unit testing, can I use the same database for the $default and $test configurations?
[英]How can I use Git with different database configurations between developers?
我正在和一個朋友一起在Code Igniter中開發應用程序。 因為我們兩個人在我們的計算機上都有不同的數據庫登錄名,所以我們有不同的“ config / database.php”文件。
如何告訴Git我們兩個都有不同的數據庫配置? 現在,我們每次拉動都會遇到合並沖突,因為“ config / database.php”對我們來說有所不同。
我通常將/application/config/database.php
文件重命名為/application/config/database.default.php
(版本),然后將原始路徑添加到.gitignore
文件。 然后,每個開發人員將默認(未版本化的文件)復制回原始路徑,並根據其本地設置進行編輯。
這成為服務器設置過程中的額外步驟,但可以避免您提到的麻煩。
有兩種選擇:
結果,您將在舊的位置上保存文件,但不再干擾“另一個”文件
我們通常將數據庫配置文件放在.gitignore
文件中,以避免出現這些問題。 無論如何,最好不要將這些配置文件及其用戶名/密碼放入git中。
我們將經常保留config/database.yml.template
文件(我們使用rails)作為基礎,以使人們復制到config/database.yml
然后編輯到其本地計算機上。 database.yml
文件名放在.gitignore
文件中(在版本控制下共享)。
gitignore的基礎知識可以在這里看到。
其他信息,包括避免出現的陷阱: 忽略已經提交到Git存儲庫的文件
有一個基於環境變量選擇配置的文件。 在服務器的配置中設置該變量。
<?php
if (getenv('WHOS_CONFIG') == 'mine') { … } else { … }
並在服務器配置中(您不會驗證,否則會再次出現相同問題:)
例如對於Apache:
<VirtualHost *>
SetEnv WHOS_CONFIG mine
…
或者,有一個公共的database.php
配置文件,其中包括未版本化的database.local.php
文件。 后者會覆蓋您需要的變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.