问题描述
在多人协作开发项目的时候,
遇到了多位开发同事 同时 修改了 相同模型类
的情况下该怎么处理模型类迁移的问题,
譬如:
- 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
文件夹进行忽略 - 开发仅仅需要对代码进行合并, 统一生成迁移文件并执行迁移
- 开发项目可以对
探索问题的同时 也是你的成长路