You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

误删migrations文件夹并清空数据库后migrate提示无迁移可执行,求助原因

问题原因

你只清空了自定义的业务数据表,但Django用来追踪迁移执行状态的系统表django_migrations仍保留着之前的迁移记录。当你重新生成迁移文件后,Django对比该表中的记录,会误认为新生成的迁移已经被执行过,因此提示"No migrations to apply"。

解决步骤
  • 清空数据库里的django_migrations表(可以直接删除该表,或者删除表内所有行记录)
  • 重新生成所有应用的迁移文件:
    python manage.py makemigrations
    
    若个别应用未生成迁移,可指定应用名:
    python manage.py makemigrations your_app_name
    
  • 执行迁移,此时Django会重建所有数据表并更新迁移状态:
    python manage.py migrate
    
    如果执行时碰到"table already exists"错误(比如未彻底清空业务表),可添加--fake-initial参数让Django标记初始迁移为已应用:
    python manage.py migrate --fake-initial
    

内容的提问来源于stack exchange,提问作者sash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 03:05:22