首页 > 解决方案 > 在 django 中删除迁移

问题描述

如何删除迁移在 django 1.11 我试图删除模型中的特定字段并再次进行迁移,但它仍然显示我有 3 个未应用的迁移我该如何处理?

标签: djangowindows

解决方案


选项 1:删除新创建的迁移并恢复到特定的迁移

  1. 恢复您已经完成的模型/文件中的更改。
  2. 在应用程序的“迁移”文件夹下,找到要返回的迁移。运行“python manage.py migrate your_app_name name_of_migration_file”。这将使您回到您选择的任何迁移。

    示例:如果我想回到第四次迁移,我会这样做:“python manage.py migrate myapp 0004_auto_20180701_1748”。向后迁移后,删除它之后的所有迁移。对我来说,我会删除任何 0005 或更高版本的文件。

  3. 运行“python manage.py makemigrations”,然后运行“python manage.py migrate”。

选项 2:删除所有迁移并重置数据库中的每个字段

这将擦除所有数据库数据,因此我不建议每次都这样做。但是如果你把所有东西都搞砸了,它会很有用,因为它会清理每个字段并迁移你当前在模型文件中拥有的所有字段。

  1. 像往常一样进行任何更改
  2. 删除应用程序中“迁移”文件夹中的每个文件,除了init .py
  3. 运行“python manage.py makemigrations”,然后运行“python manage.py migrate”。

从这里借来的答案:django revert last migration


推荐阅读