首页 > 解决方案 > Django:迁移文件依赖于已删除的 Django-APP

问题描述

在 Django 项目中,我被要求完全删除已安装的应用程序

我已经:

到目前为止,一切都很好; 运行时出现问题:

$> 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'),
     ]

标签: pythondjangodjango-migrations

解决方案


您可能可以删除现有的迁移文件并再次运行迁移。注意:在某些条件下,这在生产机器中可能是危险的(请在此处查看),因此请明智地选择并在未生产时使用此解决方案。

  1. 删除*.pyc文件,__pycache__如果有的话。
  2. 删除迁移文件并运行:

    $> python manage.py makemigrations

    $> python manage.py 迁移


推荐阅读