问题描述
在多人协作开发项目的时候,
遇到了多位开发同事 同时 修改了 相同模型类
的情况下该怎么处理模型类迁移的问题,
譬如:
A开发者: 在分支1项目代码中添加一个
"author"
的字段到 ABCModel 中, 这样就有了migration 0003_blog_blog.py
B开发者: 在分支2项目代码中添加一个
"content"
字段到 ABCModel 中,这样就有了0003_blog_content.py
合并代码后该怎么执行迁移文件呢?
两个文件都是以 0003
编号 ?
问题解决
方案1
尝试执行
python manage.py migrate
执行文件冲突的情况下, Django将提示你执行
python manage.py migrations -merge
进行合并执行合并后会在migration文件夹中生成
0004_merge.py
执行
python manage.py migrate
执行合并后迁移方案2
使用
python manage.py migrate [APPName] [migrationNumber]
指定APP指定迁移文件进行回滚到最近稳定迁移状态重新生成迁移文件进行迁移
python manage.py migrations
执行
python manage.py migrate
执行迁移方案3
开发项目可以对
migration
文件夹进行忽略开发仅仅需要对代码进行合并, 统一生成迁移文件并执行迁移