簡體   English   中英

Django / Python-我應該在本地分支上運行makemigrations,還是僅在master上運行?

[英]Django/ Python- should I run makemigrations on a local branch, or only on master?

我正在開發一個用Python / Django編寫的項目,最近對其中一個models進行了一些更改。 在繼續開發此新功能之前,我想測試一下我現在所做的更改,但是我知道在更改之前,我需要先運行python manage.py makemigrationspython 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM