繁体   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