码迷,mamicode.com
首页 > 其他好文 > 详细

关于Django中的迁移文件

时间:2020-05-06 11:57:32      阅读:87      评论:0      收藏:0      [点我收藏+]

标签:mamicode   文件名   image   mode   init   一个   alt   不能   表示   

django开发中,如果说之前的迁移文件不小心删掉了或者换设备了(总之就是不好去找回之前的迁移文件了),此时想要在在数据库中加一些表,那么就需要做以下几步处理了:

1.首先就是在应用模型类中添加模型类(这是必须也是简单的,略)

2.由于之前迁移过,在数据库中会有一张表(名为:django_migrations),有这么一条记录,记录着迁移的文件名和应用名称还有时间。再次生成迁移文件,执行迁移时,会提示  No migrations to apply(没有迁移申请),此时有两种解决方案

  ①.修改0001_initial.py名。强迫症表示不能接受

  ②.将django_migrations表中删除这条数据

技术图片

 

3.删除后手动将0001_initial.py迁移文件中不需要迁移的模型类对应数据删除,否则将不能执行迁移

 技术图片

 

   删除后即可进行迁移。

   迁移还有一种情况,就是你把models中的定义的某些模型类删除了,迁移时会提示是否删除数据库中的该模型类对应的表,按需输入yes或no即可,我这里还需要这个表,所以输入no回车:

技术图片

 

 

再说说涉及到model更改的情况,创建迁移文件时可能会收到 No changes detected(未检测到更改) 的提示,此时需要创建一个空的迁移文件,再生成迁移文件

python manage.py makemigrations --empty ‘应用名
# 执行完上面再生成迁移文件
python manage.py makemigrations

关于Django中的迁移文件

标签:mamicode   文件名   image   mode   init   一个   alt   不能   表示   

原文地址:https://www.cnblogs.com/zzmx0/p/12835176.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!