Django: миграционный файл зависит от удаленного Django -APP - PullRequest
2 голосов
/ 17 апреля 2020

В проекте Django меня попросили полностью удалить установленное приложение ;

Я уже:

  • удалил весь код ссылки
  • удалены из INSTALLED_APPS
  • проверено, нет ли таблиц БД вокруг

, пока все хорошо; проблема возникает при запуске:

$> python manage.py migrate

, поскольку существует файл миграции со следующим:

class Migration(migrations.Migration):

    dependencies = [
        ('THE REMOVED APP', '0001_initial'),
        ...

    operations = [
        ...

Он говорит:

django.db.migrations.exceptions.NodeNotFoundError: 
Migration xxx.yyy dependencies reference nonexistent parent node ('THE REMOVED APP', '0001_initial')

Могу ли я изменить файл миграции и зафиксировать следующее?

@@ -14,7 +14,6 @@ class Migration(migrations.Migration):

     dependencies = [
-        ('THE REMOVED APP', '0001_initial'),
     ]

1 Ответ

0 голосов
/ 17 апреля 2020

Вероятно, вы можете удалить существующий файл миграции и снова запустить миграцию. Примечание. В определенных условиях это может быть опасно на производственных машинах (, отметьте здесь ), поэтому выбирайте разумно и используйте это решение, если вы не работаете.

  1. Удалите *.pyc файлы и __pycache__, если есть.
  2. Удалите файлы миграции и выполните:

    $> python manage.py makemigrations

    $> python manage .py migrate

...