在開發環境中,有一種方法讓django像創建測試數據庫時那樣在「遷移」命令時自動創建數據庫(在PostgreSQL服務器上)?讓django在「migrate」上自動創建數據庫
我的最終目標是爲每個git分支提供一個數據庫。
在開發環境中,有一種方法讓django像創建測試數據庫時那樣在「遷移」命令時自動創建數據庫(在PostgreSQL服務器上)?讓django在「migrate」上自動創建數據庫
我的最終目標是爲每個git分支提供一個數據庫。
不,因爲django是一個網絡框架,而不是一個網絡服務器,你如何運行,取決於你。
另外,具有每混帳分支一個數據庫聽起來像是一場噩夢,我倒是希望你所提交的遷移和合並根據需要適當
,你可以在下面的腳本用僞代碼的腳本
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
)
我已經使用環境變量檢索數據庫名稱。我只是想問,如果django能夠在本地做到這一點。如果沒有,我會在手動之前做。 –
感謝您的答覆。我們只在開發環境中需要這個。當處理特定分支上的數據庫更改的功能時,由於django「檢查」遷移狀態,因此在更改爲另一個分支時,我們被卡住了。有一個建議的過程? –
我想這不是我在django開發過程中遇到過的一個問題,我不知道這是否是由用戶確定分支處於穩定狀態之前切換或其他東西。我想邏輯步驟將是[創建分支時的git鉤子](http://stackoverflow.com/q/14297606/1324033)如果這真的是你需要的 – Sayse