Django 合并两个具有相同 ID 的迁移?

问题描述 投票:0回答:2

我有一个旧的 git 分支,它的迁移从未合并到我们的主分支中。自从我进行那次迁移以来,已经进行了大约 14 次迁移。

此后,我将旧分支重新设置为当前分支,并进行了两次迁移:

  1. 0044_auto_20160810_1128
  2. 0044_auto_20160823_1613

我尝试运行

python manage.py migrate --merge
- 这只会返回以下文本:

usage: manage.py migrate [-h] [--version] [-v {0,1,2,3}] [--settings SETTINGS]
                         [--pythonpath PYTHONPATH] [--traceback] [--no-color]
                         [--noinput] [--no-initial-data] [--database DATABASE]
                         [--fake] [--fake-initial] [--list]
                         [app_label] [migration_name]
manage.py migrate: error: unrecognized arguments: --merge

我从以下堆栈问题中找到了这个命令:

在团队中工作时发生 Django South 迁移冲突

我想做的就是合并两个 0044 迁移,这样当我推送到生产环境时就不会出错。

python django git merge django-south
2个回答
10
投票

这是一个老问题,但如果将来有人发现它,命令是

python manage.py makemigrations --merge

0
投票

我也遇到了同样的问题,通过手动将从两个相同文件迁移到一个文件的缺失部分添加到一个文件并删除另一个重复文件并成功迁移而解决,没有任何问题。

因此,通过手动合并和维护正确的依赖关系顺序,基本上删除了所有重复文件。

© www.soinside.com 2019 - 2024. All rights reserved.