首页 > 解决方案 > 如何在 Django 中删除 0001_initial.py?Django 迁移不起作用

问题描述

我在 Windows 10 上使用 Django 2.2 和 Python 3.7。

我创建了一个项目,然后创建了一个应用程序。models.py 是使用 INSPECTDB 填充现有 Postgres 数据库的。我从每个班级中删除了“managed = False”行。

我创建了最初的 makemigrations 并进行了迁移。有应用迁移文件,0001_initial.py 和init .py

我不得不在 models.py 文件中进行更改,添加更多类。然后我运行 makemigration 并在应用程序上迁移。

现在我收到一条消息'.errors.DuplicateTable:关系“INT_ORG”已经存在。' 引发异常。

我尝试使用“python manage.py makemigrations”并收到未检测到更改的消息。

我尝试使用'python manage.py migrate --fake-initial'。此错误重复表已存在

没运气。我在这里很失败。

昨天工作时,不知何故 - 不知道如何,出现另一个名为“0002_auto_20191212_1137.py”的迁移文件。“0002_auto_20191212_1137.py”迁移文件包含我所有的更改。但是当我尝试进行迁移和迁移时,它也没有被迁移。

我需要回到我能理解的一点,而不是失去一切。一位同事遇到了类似的问题,他们刚刚开始了一个新项目和新应用程序。我不想那样做。

有人可以告诉我如何删除迁移文件: 0001_initial.py 和 0002_auto_20191212_1137.py 吗?我想在 PyCharm for Django 的终端窗口中执行此操作。

我试过这段代码来删除迁移:'从 django_migrations where app = myapp' 中删除并得到错误:'delete' 不被识别为内部或外部命令、可运行程序或批处理文件。

我已尝试使用此代码删除迁移:'git rm myapp/migrations/*' 并得到错误:'git' 未被识别为内部或外部命令、可运行程序或批处理文件。

我已尝试使用此代码删除迁移:'remove myapp/migrations/*' 并得到错误:'remove' 未被识别为内部或外部命令、可运行程序或批处理文件。

我查看了互联网上和 StackOverflow 上的几个与我的问题类似的资源,但没有有效的答案。

将不胜感激任何帮助。谢谢你。麦格

标签: pythondjangopycharm

解决方案


正如这里回答的那样,您应该回到您想要的点:链接希望这就是您正在寻找的答案!


推荐阅读