ITPub博客

首页 > > > Django多人开发模型迁移冲突问题解决

Django多人开发模型迁移冲突问题解决

作者:zuike2000 时间:2020-01-09 01:32:44 0 删除 编辑

MedusaSorcerer的博客


问题描述

在多人协作开发项目的时候, 遇到了多位开发同事 同时 修改了 相同模型类的情况下该怎么处理模型类迁移的问题, 譬如:

  • 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 文件夹进行忽略
    • 开发仅仅需要对代码进行合并, 统一生成迁移文件并执行迁移

探索问题的同时 也是你的成长路

原文作者:;如有侵权,请联系管理员删除。

下一篇: 枚举类型-Django3.0
请登录后发表评论 登录
全部评论

注册时间:2019-04-16

  • 博文量
    404
  • 访问量
    2062