Django如何重置migration的几种情景


Posted in Python onFebruary 24, 2021

情景一:不需要原有的数据库数据

  1. 删除数据库所有的表
  2. 删除项目的migration模块中的所有 文件,除了__init__.py 文件
  3. 执行脚本
python manage.py makemigrations
python manage.py migrate

情景2:不想要删除现有的数据库,只是想重新建立 migration 文件

首先要保证,目前的migration文件和数据库是同步的,通过执行

python manage.py makemigrations

如果看到 这样的提示: No changes detected,则可以继续接下来的步骤

通过执行

python manage.py showmigrations

结果,可以看到当前项目,所有的app及对应的已经生效的migration文件如

git_hook
 [X] 0001_initial
guardian
 [X] 0001_initial
kombu_transport_django
 [X] 0001_initial
message
 (no migrations)
order
 [X] 0001_initial
pay
 [X] 0001_initial
 [x] 0002_add_model
sessions
 [X] 0001_initial

通过执行

$ python manage.py migrate --fake pay zero

这里的 pay就是你要重置的app

之后再执行 python manage.py showmigrations,你会发现 文件前的 [x] 变成了[ ]

现在,你可以删除pay 这个 app下的migrations模块中 除 init.py 之外的所有文件。

之后,执行

$ python manage.py makemigrations

程序会再次为这个app 生成 0001_initial.py 之类的文件

最重要的一步来了, 执行

python manage.py migrate --fake-inital

?fake-inital 会在数据库中的 migrations表中记录当前这个app 执行到 0001_initial.py ,但是它不会真的执行该文件中的 代码。
这样就做到了,既不对现有的数据库改动,而又可以重置 migraion 文件,妈妈再也不用在 migration模块中看到一推文件了。

参考https://simpleisbetterthancomplex.com/tutorial/2016/07/26/how-to-reset-migrations.html

到此这篇关于Django如何重置migration的几种情景的文章就介绍到这了,更多相关Django 重置migration内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python数组条件过滤filter函数使用示例
Jul 22 Python
Python的字典和列表的使用中一些需要注意的地方
Apr 24 Python
Python中的列表生成式与生成器学习教程
Mar 13 Python
python3音乐播放器简单实现代码
Apr 20 Python
python+matplotlib演示电偶极子实例代码
Jan 12 Python
Python3.5常见内置方法参数用法实例详解
Apr 29 Python
Django发送邮件功能实例详解
Sep 02 Python
python 读取数据库并绘图的实例
Dec 03 Python
wxpython自定义下拉列表框过程图解
Feb 14 Python
Python正则表达式高级使用方法汇总
Jun 18 Python
python跨文件使用全局变量的实现
Nov 17 Python
python3实现无权最短路径的方法
May 12 Python
Django中的DateTimeField和DateField实现
Feb 24 #Python
Python制作运行进度条的实现效果(代码运行不无聊)
Feb 24 #Python
学点简单的Django之第一个Django程序的实现
Feb 24 #Python
python单例模式的应用场景实例讲解
Feb 24 #Python
python编写扎金花小程序的实例代码
Feb 23 #Python
Python项目实战之使用Django框架实现支付宝付款功能
Feb 23 #Python
Python接口自动化系列之unittest结合ddt的使用教程详解
Feb 23 #Python
You might like
探讨如何把session存入数据库
2013/06/07 PHP
php中filter函数验证、过滤用户输入的数据
2014/01/13 PHP
为你总结一些php系统类函数
2015/10/21 PHP
php 文件下载 出现下载文件内容乱码损坏的解决方法(推荐)
2016/11/16 PHP
Yii输入正确验证码却验证失败的解决方法
2017/06/06 PHP
javascript实现瀑布流自适应遇到的问题及解决方案
2015/01/28 Javascript
JavaScript实现将数组中所有元素连接成一个字符串的方法
2015/04/06 Javascript
JS获取图片高度宽度的方法分享
2015/04/17 Javascript
JS实现支持多选的遍历下拉列表代码
2015/08/20 Javascript
vue组件父子间通信之综合练习(聊天室)
2017/11/07 Javascript
基于Angular中ng-controller父子级嵌套的相关属性详解
2018/10/08 Javascript
express 项目分层实践详解
2018/12/10 Javascript
利用JavaScript将Excel转换为JSON示例代码
2019/06/14 Javascript
从0到1学习JavaScript编写贪吃蛇游戏
2020/07/28 Javascript
python3.3教程之模拟百度登陆代码分享
2014/01/16 Python
Python下的常用下载安装工具pip的安装方法
2015/11/13 Python
python 运用Django 开发后台接口的实例
2018/12/11 Python
Pythony运维入门之Socket网络编程详解
2019/04/15 Python
Django实现将一个字典传到前端显示出来
2020/04/03 Python
浅谈keras使用预训练模型vgg16分类,损失和准确度不变
2020/07/02 Python
解决keras GAN训练是loss不发生变化,accuracy一直为0.5的问题
2020/07/02 Python
如何使用scrapy中的ItemLoader提取数据
2020/09/30 Python
安装不同版本的tensorflow与models方法实现
2021/02/20 Python
CSS3制作Dropdown下拉菜单的方法
2015/07/18 HTML / CSS
基于Jquery和Css3代码制作可以缩放的搜索框
2015/11/19 HTML / CSS
Lookfantastic西班牙官网:英国知名美妆购物网站
2018/06/13 全球购物
投标邀请书范文
2014/01/31 职场文书
高中毕业生的个人自我评价
2014/02/21 职场文书
市场推广策划方案
2014/06/02 职场文书
激励口号大全
2014/06/17 职场文书
党员作风建设整改方案
2014/10/27 职场文书
督导岗位职责范本
2015/04/10 职场文书
开票证明
2015/06/23 职场文书
获奖感言怎么写
2015/07/31 职场文书
小学班主任工作经验交流材料
2015/11/02 职场文书
先进个人事迹材料(2016推荐版)
2016/03/01 职场文书