Django手动恢复删除mysql工具里面,强行删除得表

[复制链接]
查看: 1100   回复: 0

265

主题

265

帖子

1494

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1494
2024-2-18 15:55:35   显示全部楼层   阅读模式  
通用封面.jpg

如果你手动在 MySQL 数据库中删除了 Django 应用的表,你需要重新创建这个表的迁移并应用它,以便让 Django 重新在数据库中建立这个表。以下是步骤说明:
  • 删除对应的迁移文件:
    在 Django 应用的 migrations 文件夹中,找到并删除与你要重建的表相关的迁移文件。例如,如果你要重建 tb_usertype 表,你可能需要删除与 tb_usertype 相关的迁移文件。
  • 重置迁移历史:
    删除迁移文件后,你需要告诉 Django 迁移系统这些迁移文件已经不存在了。你可以使用 migrate 命令的 --fake 选项来“伪造”迁移的应用。例如:
    bash复制代码

    python manage.py migrate app2 zero  # 将 app2 的迁移历史重置到初始状态

    这条命令会将 app2 应用的迁移历史重置到初始状态,即没有应用任何迁移。
  • 重新创建迁移:
    使用 makemigrations 命令来基于当前模型的状态创建新的迁移文件。
    bash复制代码

    python manage.py makemigrations app2

    这条命令会检查 app2 应用中的模型,并与数据库中的表进行比较,然后生成必要的迁移文件。
  • 应用迁移:
    最后,使用 migrate 命令来应用新的迁移,从而创建新的表。
    bash复制代码

    python manage.py migrate

    这条命令会应用所有未应用的迁移,包括你为 app2 应用创建的新迁移。
  • 检查数据库:
    登录到你的 MySQL 数据库,检查 ceshi 数据库是否已经重新创建了 tb_usertype 表。

完成这些步骤后,Django 应该已经根据你的模型定义在数据库中重新创建了 tb_usertype 表,并且迁移历史也被更新以反映这些更改。请确保在进行这些操作之前备份了数据库,以防止任何意外的数据丢失。



1.png

操作之前吧迁移缓存删了
回复

使用道具 举报

您需要登录后才可以回帖   登录 立即注册

高级模式

南通谢凡软件科技有限公司