2017-01-23 62 views
0

我正在編寫一個已經用Python/Django編寫的項目,並且最近對models之一進行了一些更改。在進一步研究這項新功能之前,我想測試我現在所做的更改,但是我知道在我對models所做的更改生效之前,我需要運行python manage.py makemigrations & python manage.py migrateDjango/Python-我應該在本地分支上運行makemigrations,還是隻在master上運行?

我做開發上的獨立git分支master,但我有點不確定什麼是最好的做法是在這裏的不同分支運行的遷移的條款(我是比較新的兩個的Python/Django的& GIT)。

難道是明智的在我的開發分支運行makemigrations和測試它在那裏,我一直在測試,我迄今工作的bug修復同樣的方式,或者我需要與master合併我的開發分支運行前makemigrations

我知道,如果我在我的開發分支上運行遷移,我需要在master上再次運行它們,只要我合併了我的更改,但我只是想知道是否對此方法或事物有任何危險我應該留意一下?

回答

2

通常,您將在您的開發分支上進行makemigrations,並且將代碼(在這種情況下爲遷移文件)移動到更高分支(UAT,Staging,Master等)。

這樣您就不需要在任何其他分支上運行makemigrations,只需要遷移命令。

因爲您可以根據需要有儘可能多的遷移文件,它並沒有真正影響性能和高度優化

您可以隨時壁球/合併遷移過程,如果有太多或者如果你願意的話。

Squasing Migrations

0

運行makemigrations會在你修改了模型的應用程序的「遷移」文件夾中自動創建Python文件。這些文件必須在git中進行版本化,因爲它們不能脫離您對模型的修改。

然後,當你合併你的分支時,模型中的修改和相應的遷移都將在git樹中。因此,下一個撥打migrate的電話將使DB與您的模型描述的當前狀態同步。

相關問題