首页 > 解决方案 > 在分支中重命名模型会导致所有其他分支失败

问题描述

我有一个名为 Cars 的模型。

Master branch: Cars    
Branch feature/search: Cars    
Branch feature/showcar: Cars

我在分支中将 Cars 模型重命名为 Car,为了使其正常工作,我 makemigrates 并将其迁移到 feature/search 分支上,现在它变成了

Master branch: Cars
Branch feature/search: **Car**
Branch feature/showcar: Cars

它导致 master 和 feature/showcar 分支错误,他们在数据库中找不到模型 Cars。我给我的团队带来了很多问题。

什么可以防止这种情况发生?我希望这很清楚。

标签: djangogitdjango-models

解决方案


更改数据库描述并迁移数据库后,其他分支中的描述与master分支不兼容。有几种方法可以解决这个问题。

  1. master通过合并到所有分支中来同步所有分支中的数据库描述。将所有分支推送到中央存储库,并通知团队中的所有开发人员进行更新和迁移。

  2. master具有不同于其他分支的数据库描述。从切换master到不同分支时迁移并在切换到 时再次迁移master

3a。每个分支都有不同的数据库。settings.py切换分支时更改。

3b。为分支使用许多不同的工作树,因此每个分支都有自己的数据库描述,每个工作树都有自己的settings.py.


推荐阅读