Как вернуть миграцию при наличии нескольких листовых узлов?

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

Поскольку все мои миграции находятся только в стадии разработки, я пытаюсь отменить их, чтобы достичь того же состояния, в котором находится основная ветвь, а затем сделать их снова.

Я думал, что смогу

  1. manage.py migrate myapp C
  2. удалите мои локальные файлы миграции D, E, F
  3. manage.py makemigrations
  4. 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).

Похоже, что я не могу даже отменить миграцию, пока график миграции находится в таком состоянии.

Что я могу сделать, чтобы просто сбросить миграции локальной ветки и совместить их с основной веткой, прежде чем снова создавать необходимые миграции локальной ветки? «Перезагрузка» миграций в некотором роде?

Вернуться на верх