美文网首页
Django中出现No migrations to apply

Django中出现No migrations to apply

作者: 丙吉 | 来源:发表于2022-06-20 16:29 被阅读0次
    在Django学习中,出现No migrations to apply问题。

    在model模型中,新建一个类(表),运行python manage.py migrate时报No migrations to apply,在数据库中查看该表也未生成。

    (django_env) d:\pro_soft\Anaconda\bj22\test5>python manage.py makemigrations
    No changes detected
    
    (django_env) d:\pro_soft\Anaconda\bj22\test5>python manage.py migrate
    Operations to perform:
      Apply all migrations: admin, auth, booktest, contenttypes, sessions
    Running migrations:
      No migrations to apply.
    
    image.png
    原因:要建表的迁移已存在,没检测到变化,故没有生成表,所以要删除0001_initial。

    (1)找到记录django迁移的表 django_migrations。


    image.png

    (2)查看表中的内容,但这么多initial该删哪个?找到app的列,看应用名即可。


    image.png
    (3) 查看 “booktest”的应用名下的迁移的具体操作,在项目的目录下输入
    image.png
    python manage.py sqlmigrate booktest 0001
    

    即可查看到创建的表


    image.png

    (4) 删除该记录。


    image.png
    (5)再重新运行迁移步骤。
    python manage.py makemigrations
    
    python manage.py migrate
    
    image.png

    (6)再回到mysql中查看表的生成,表已生成。

    image.png

    特别注意,不要随意删除django_migrations下的表,这里面有表增删改查操作,都有依赖关系。

    详细参考:

    https://zhuanlan.zhihu.com/p/142787995

    相关文章

      网友评论

          本文标题:Django中出现No migrations to apply

          本文链接:https://www.haomeiwen.com/subject/gdadvrtx.html