Django/ Python- 我应该 运行 在本地分支上进行迁移,还是仅在主分支上进行迁移?
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
在我对 models
所做的更改生效之前。
我正在 git
的 master
分支上进行开发,但我有点不确定 运行 在不同分支上迁移的最佳实践是什么(我对 Python/ Django 和 Git 都比较陌生)。
在我的开发分支上 运行 makemigrations
并在那里测试它是否明智,就像我一直在测试我到目前为止所做的错误修复一样,或者会我需要在 运行ning makemigrations
?
之前将我的开发分支与 master
合并
我知道,如果我在我的开发分支上执行 运行 迁移,我将需要在 master
上再次 运行 它们,一旦我合并了我的更改,但我是只是想知道这种方法是否有任何危险,或者我应该注意什么?
通常,您会在开发分支上执行 makemigrations,然后将代码(在本例中为迁移文件)移动到更高的分支(UAT、Staging、Master 等)。
这样你就永远不需要运行在任何其他分支上进行迁移,而只需要迁移命令。
您可以根据需要拥有任意数量的迁移文件,它不会真正影响性能并且高度优化
如果迁移太多或者您愿意,您可以随时squash/merge迁移。
运行 makemigrations
将在您修改模型的应用程序的 "migrations" 文件夹中自动创建 python 文件。这些文件必须在 git 中进行版本控制,因为它们无法与您对模型的修改分离。
然后,当您合并分支时,模型中的修改和相应的迁移都将在 git 树中。因此,下一次调用 migrate
会将数据库与模型描述的当前状态同步。
我正在开发一个用 Python/ Django 编写的项目,最近对其中一个 models
进行了一些更改。在进一步开发此新功能之前,我想测试我现在所做的更改,但我知道我需要 运行 python manage.py makemigrations
& python manage.py migrate
在我对 models
所做的更改生效之前。
我正在 git
的 master
分支上进行开发,但我有点不确定 运行 在不同分支上迁移的最佳实践是什么(我对 Python/ Django 和 Git 都比较陌生)。
在我的开发分支上 运行 makemigrations
并在那里测试它是否明智,就像我一直在测试我到目前为止所做的错误修复一样,或者会我需要在 运行ning makemigrations
?
master
合并
我知道,如果我在我的开发分支上执行 运行 迁移,我将需要在 master
上再次 运行 它们,一旦我合并了我的更改,但我是只是想知道这种方法是否有任何危险,或者我应该注意什么?
通常,您会在开发分支上执行 makemigrations,然后将代码(在本例中为迁移文件)移动到更高的分支(UAT、Staging、Master 等)。
这样你就永远不需要运行在任何其他分支上进行迁移,而只需要迁移命令。
您可以根据需要拥有任意数量的迁移文件,它不会真正影响性能并且高度优化
如果迁移太多或者您愿意,您可以随时squash/merge迁移。
运行 makemigrations
将在您修改模型的应用程序的 "migrations" 文件夹中自动创建 python 文件。这些文件必须在 git 中进行版本控制,因为它们无法与您对模型的修改分离。
然后,当您合并分支时,模型中的修改和相应的迁移都将在 git 树中。因此,下一次调用 migrate
会将数据库与模型描述的当前状态同步。