Python Django:迁移文件取决于已删除的Django应用程序

Python Django:迁移文件取决于已删除的Django应用程序,python,django,django-migrations,Python,Django,Django Migrations,在Django项目中,我被要求: 我已经: 删除了所有代码引用 已从安装的应用程序中删除 选中,周围没有db表 到目前为止,一切顺利;运行时会出现以下问题: $>python manage.py迁移 因为有一个迁移文件包含以下内容: 类迁移(migrations.Migration): 依赖项=[ (“删除的应用程序”,“0001_首字母”), ... 操作=[ ... 它说: django.db.migrations.exceptions.NodeNotFoundError: Mig

在Django项目中,我被要求:

我已经:

  • 删除了所有代码引用
  • 已从安装的应用程序中删除
  • 选中,周围没有db表
到目前为止,一切顺利;运行时会出现以下问题:

$>python manage.py迁移
因为有一个迁移文件包含以下内容:

类迁移(migrations.Migration):
依赖项=[
(“删除的应用程序”,“0001_首字母”),
...
操作=[
...
它说:

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

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

  • 删除
    *.pyc
    文件和
    \uuuu pycache\uuuu
    如果有
  • 删除迁移文件并运行:

    $>python manage.py makemigrations

    $>python manage.py迁移


  • 您可能可以删除现有迁移文件,然后再次运行迁移。 注意:在某些情况下,这在生产机器中可能是危险的(),因此,如果您不在生产中,请明智地选择并使用此解决方案

  • 删除
    *.pyc
    文件和
    \uuuu pycache\uuuu
    如果有
  • 删除迁移文件并运行:

    $>python manage.py makemigrations

    $>python manage.py迁移


  • 这取决于迁移文件的内容。如果迁移具有依赖关系,则迁移可能引用了该应用(例如,创建一个指向
    other\u app.DeletedModel
    )的外键。运行该迁移将失败,因为
    other\u app.DeletedModel
    不存在。在这种情况下,情况并非如此,但在这种情况下,@Alasdair?您可能能够删除对已删除应用的引用。这取决于迁移文件的引用。如果迁移具有依赖项,则迁移可能具有对该应用的引用(例如,创建一个指向
    other\u app.DeletedModel
    的外键。运行该迁移将失败,因为
    other\u app.DeletedModel
    不存在。在这种情况下,情况并非如此,但在这种情况下,@Alasdair?您可能能够删除对已删除应用的引用。您不想删除它。)ete迁移—如果您的项目已投入生产或由distributed team@iklinac使用—答案视情况而定。此处用户可能也会重新安装django以解决此问题—您的答案表示“您可以始终删除现有的迁移文件”,他只是从他的项目中删除了一个应用程序/模块,而不是将其关闭。如果您的项目已经投入生产或被分布式团队@iklinac使用,您永远都不想删除迁移。答案取决于此。用户可能也会重新安装django以解决此问题。您的答案是“你总是可以删除现有的迁移文件”,他只是从他的项目中删除一个应用程序/模块,而不是将其关闭xD