2016-11-25 41 views

回答

-1

不,因爲django是一個網絡框架,而不是一個網絡服務器,你如何運行,取決於你。

另外,具有每混帳分支一個數據庫聽起來像是一場噩夢,我倒是希望你所提交的遷移和合並根據需要適當

+0

感謝您的答覆。我們只在開發環境中需要這個。當處理特定分支上的數據庫更改的功能時,由於django「檢查」遷移狀態,因此在更改爲另一個分支時,我們被卡住了。有一個建議的過程? –

+0

我想這不是我在django開發過程中遇到過的一個問題,我不知道這是否是由用戶確定分支處於穩定狀態之前切換或其他東西。我想邏輯步驟將是[創建分支時的git鉤子](http://stackoverflow.com/q/14297606/1324033)如果這真的是你需要的 – Sayse

0

,你可以在下面的腳本用僞代碼的腳本

branch_name=<get branch name from git> 
create_database with branch_name as db name 
run django migrate 

例如在Linux上使用bash也可能是

branch_name=git rev-parse --symbolic-full-name --abbrev-ref HEAD 
createdb ${branch_name} 
python manage.py migrate 

The createdb command is from PostgreSQL

然後你的Django settings.py也需要改變使用該數據庫名,您可以在settings.py在Python閱讀的Git分支名太:

>>> import subprocess 
>>> DBNAME = subprocess.check_output('git rev-parse --symbolic-full-name --abbrev-ref HEAD', shell=True) 
>>> DBNAME.replace('\n', '') 
'develop' 

然後你就可以在settings.py使用該值(以上我是一個git分支develop

+0

我已經使用環境變量檢索數據庫名稱。我只是想問,如果django能夠在本地做到這一點。如果沒有,我會在手動之前做。 –