Django - 删除迁移文件后的操作错误

Django - OperationalError after deleting migration files

在我系统的早期,在我知道如何使用 django 的内置用户模型之前,我有自己的 class 命名为 myUser,我打算将其用于相同的目的。我最终删除了这个,而是使用了 django 的用户模型。有一段时间一切都很好。然后我尝试将所有自定义模型的 ID 更改为 UUIDField,但语法错误,不幸的是,我是在 运行 makemigrations 和 migrate 之后才意识到的。我更正了它,但仍然存在错误,因为语法错误的 UUIDField 的迁移文件仍然在迁移中徘徊。无论如何,这就是我从谷歌搜索中了解到的。因为我不确定 哪个 迁移文件导致了错误,所以我只是删除了最后 5 个迁移文件(事后看来,这不是我曾经有过的最好的主意)。不幸的是,这些迁移文件之一是包含删除 myUser 模型的文件。

现在,每当我尝试迁移时,都会收到以下错误:

django.db.utils.OperationalError: 没有这样的 table: phoneBook_myUser

似乎这个错误正在阻止我的 任何 新迁移。我在谷歌上搜索了一段时间,看来我的两个选择是要么深入研究 Django 的细节,要么尝试弄乱直到我修复它——我希望避免这种情况,考虑到我只使用 Django 2几周-或重置所有内容并从头开始构建系统。那也不太理想。

我有 myUSer 模型的备份版本。是恢复它、迁移、删除它然后迁移 'safe' 还是会把事情搞得一团糟?我可以采取任何其他措施来解决此问题吗?

更新: 结果来自 python manage.py showmigrations:

    admin
     [X] 0001_initial
     [X] 0002_logentry_remove_auto_add
     [X] 0003_logentry_add_action_flag_choices
    auth
     [X] 0001_initial
     [X] 0002_alter_permission_name_max_length
     [X] 0003_alter_user_email_max_length
     [X] 0004_alter_user_username_opts
     [X] 0005_alter_user_last_login_null
     [X] 0006_require_contenttypes_0002
     [X] 0007_alter_validators_add_error_messages
     [X] 0008_alter_user_username_max_length
     [X] 0009_alter_user_last_name_max_length
     [X] 0010_alter_group_name_max_length
     [X] 0011_update_proxy_permissions
     [X] 0012_alter_user_first_name_max_length
    contenttypes
     [X] 0001_initial
     [X] 0002_remove_content_type_name
    phoneBook
     [X] 0001_initial
     [X] 0002_auto_20210707_1306
     [X] 0003_informationrating_owner_ownerset_comments_connection/
         _numbermetadata_source
     [X] 0004_rename_comments_comment
     [X] 0005_auto_20210707_1632
     [X] 0006_auto_20210707_1634
     [X] 0007_auto_20210707_1637
     [X] 0008_alter_company_company_type
     [X] 0009_owner_owner_type
     [X] 0010_numbermetadata_published_at
     [X] 0011_auto_20210713_0957
     [X] 0012_auto_20210713_1014
     [X] 0013_connectionrating
     [X] 0014_informationrating
     [X] 0015_delete_informationrating
     [X] 0016_alter_owner_owner_type
     [X] 0017_alter_owner_owner_type
     [X] 0018_auto_20210713_1349
     [X] 0019_auto_20210713_1525
     [X] 0020_auto_20210713_1529
     [X] 0021_auto_20210713_1533
     [X] 0022_auto_20210713_1535
     [X] 0023_alter_numbermetadata_owner_set_id
     [X] 0024_auto_20210719_0948
     [X] 0025_auto_20210719_1555
     [ ] 0026_auto_20210720_1528
     [ ] 0027_connection_connection_status
    sessions
     [X] 0001_initial

我的迁移文件:

    0001_initial.py
    0002_auto_20210707_1306.py
    0003_informationrating_owner_ownerset_comments_connection/
    _numbermetadata_source.py
    0004_rename_comments_comment.py
    0005_auto_20210707_1632.py
    0006_auto_20210707_1634.py
    0007_auto_20210707_1637.py
    0008_alter_company_company_type.py
    0009_owner_owner_type.py
    0010_numbermetadata_published_at.py
    0011_auto_20210713_0957.py
    0012_auto_20210713_1014.py
    0013_connectionrating.py
    0014_informationrating.py
    0015_delete_informationrating.py
    0016_alter_owner_owner_type.py
    0017_alter_owner_owner_type.py
    0018_auto_20210713_1349.py
    0019_auto_20210713_1525.py
    0020_auto_20210713_1529.py
    0021_auto_20210713_1533.py
    0022_auto_20210713_1535.py
    0023_alter_numbermetadata_owner_set_id.py
    0024_auto_20210719_0948.py
    0025_auto_20210719_1555.py
    0026_auto_20210720_1528.py
    0027_connection_connection_status.py
    __init__.py

我最终创建了项目的新版本,所有文件的完美副本,但使用新数据库,一切正常。