![](/img/trans.png)
[英]Error when I run this command python manage.py makemigrations blog in python django in models.py
[英]Django/ Python- should I run makemigrations on a local branch, or only on master?
我正在開發一個用Python / Django編寫的項目,最近對其中一個models
進行了一些更改。 在繼續開發此新功能之前,我想測試一下我現在所做的更改,但是我知道在更改之前,我需要先運行python manage.py makemigrations
和python manage.py migrate
python manage.py makemigrations
。我已經使models
生效。
我正在一個單獨的git
分支上進行開發以master
,但是有點不確定在不同分支上運行遷移方面的最佳實踐是什么(我對Python / Django和Git都是比較陌生的)。
在我的開發分支上運行makemigrations
並在makemigrations
進行測試是否明智, makemigrations
我測試到目前為止所研究的錯誤修復程序一樣,還是在運行makemigrations
之前需要將開發分支與master
合並?
我知道,如果我確實在我的開發分支上運行遷移,那么一旦合並更改,就需要在master
再次運行它們,但是我只是想知道這種方法是否存在任何危險,或者應該注意的事情對於?
通常,您將在開發分支上進行makemigrations,並將代碼(在這種情況下為遷移文件)上移到更高的分支(UAT,Staging,Master等)。
這樣,您將不需要在任何其他分支上運行makemigrations,而僅需要migrate命令。
您可以根據需要擁有任意數量的遷移文件,它不會真正影響性能,並且經過高度優化
如果遷移過多或希望遷移,可以始終壓縮/合並遷移。
請參見壓縮遷移
運行makemigrations
將在修改模型的應用程序的“ migrations”文件夾中自動創建python文件。 這些文件必須在git中進行版本控制,因為它們無法與您對模型的修改脫離。
然后,當您合並分支時,模型中的修改和相應的遷移都將在git樹中。 因此,下一個migrate
請求將使數據庫與模型描述的當前狀態同步。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.