[英]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.