Как вернуть миграцию при наличии нескольких листовых узлов?
manage.py showmigrations
показывает мне список типа
...
[X] 0240_employer_data (A)
[X] 0241_person_metadata (B)
[ ] 0242_delete_capability_delete_collection (C)
[X] 0242_personemployer_employerworkplace (D)
[X] 0243_personemployer_employed_personemployer_stage (E)
[X] 0244_remove_employerworkplace_and_more (F)
0242_delete_capability_delete_collection
появился после выполнения git pull
и rebase. Мой материал из локальной ветки, с которым я работал - 0242_personempl..0244.
Я считаю, что график выглядит так
|
A
|
B
/ \
D C
|
E
|
F
Поскольку все мои миграции находятся только в стадии разработки, я пытаюсь отменить их, чтобы достичь того же состояния, в котором находится основная ветвь, а затем сделать их снова.
Я думал, что смогу
manage.py migrate myapp C
- удалите мои локальные файлы миграции D, E, F
manage.py makemigrations
manage.py migrate
Но и manage.py migrate myapp C
, и manage.py migrate myapp B
выдают одну и ту же ошибку:
CommandError: Обнаружены конфликтующие миграции; в графе миграции несколько листовых узлов: (
0242_delete_capability_delete_collection
,0244_remove_employerworkplace_and_more
вmyapp
).
Похоже, что я не могу даже отменить миграцию, пока график миграции находится в таком состоянии.
Что я могу сделать, чтобы просто сбросить миграции локальной ветки и совместить их с основной веткой, прежде чем снова создавать необходимые миграции локальной ветки? «Перезагрузка» миграций в некотором роде?