详解重置Django migration的常见方式


Posted in Python onFebruary 15, 2019

根据django官方文档建议,开发过程中会把生成的migrations提交到git中。由于各种原因,会有一些场景需要重置migrations,故总结一些常用场景及解决办法。

场景一

不考虑数据库数据,可以完全清空数据库。

步骤:

删除所有migrations

find . -path "*/migrations/*.py" -not -name "__init__.py" -delete
find . -path "*/migrations/*.pyc" -delete

删除数据库

重新生成migrations

python manage.py makemigrations
python manage.py migrate

场景二

有时候我们会直接导入完整的数据库,包括数据,这种情况下就不能简单的清空数据库。

这时我们的目的就是:清空数据库的migration history,保证以后的migrate能正常使用,但要保留其他数据。

步骤:

从数据库中删除所有非0001_initial的migration history

DELETE FROM django_migrations WHERE app IN ('your','app','labels') AND name != '0001_initial'

使用migrate命令回滚0001_initial的migration history

python manage.py migrate --fake your zero
python manage.py migrate --fake app zero
python manage.py migrate --fake labels zero

重新生成0001_initial,如果能保证已有0001_initial已是最新的,可跳过此步

find . -path "*/migrations/*.py" -not -name "__init__.py" -delete
find . -path "*/migrations/*.pyc" -delete

python manage.py makemigrations

在数据库中生成新的0001_initial记录

python migrate --fake-initial

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
跟老齐学Python之永远强大的函数
Sep 14 Python
利用python求相邻数的方法示例
Aug 18 Python
Android基于TCP和URL协议的网络编程示例【附demo源码下载】
Jan 23 Python
python 将字符串中的数字相加求和的实现
Jul 18 Python
Python Web框架之Django框架Model基础详解
Aug 16 Python
Python 分发包中添加额外文件的方法
Aug 16 Python
使用Python给头像戴上圣诞帽的图像操作过程解析
Sep 20 Python
如何在python中写hive脚本
Nov 08 Python
Python实现病毒仿真器的方法示例(附demo)
Feb 19 Python
基于plt.title无法显示中文的快速解决
May 16 Python
Python趣味入门教程之循环语句while
Aug 26 Python
python实现过滤敏感词
May 08 Python
djang常用查询SQL语句的使用代码
Feb 15 #Python
Python实现的对本地host127.0.0.1主机进行扫描端口功能示例
Feb 15 #Python
Python提取支付宝和微信支付二维码的示例代码
Feb 15 #Python
Python实现的IP端口扫描工具类示例
Feb 15 #Python
Python标准库使用OrderedDict类的实例讲解
Feb 14 #Python
Python从文件中读取数据的方法讲解
Feb 14 #Python
python爬取cnvd漏洞库信息的实例
Feb 14 #Python
You might like
PHP date函数参数详解
2006/11/27 PHP
无刷新动态加载数据 滚动条加载适合评论等页面
2013/10/16 PHP
Yii使用技巧大汇总
2015/12/29 PHP
PHP中数组转换为SimpleXML教程
2019/01/27 PHP
js 复制或插入Html的实现方法小结
2010/05/19 Javascript
javascript代码编写需要注意的7个小细节小结
2011/09/21 Javascript
Json2Template.js 基于jquery的插件 绑定JavaScript对象到Html模板中
2011/10/29 Javascript
查找iframe里元素的方法可传参
2013/09/11 Javascript
js实现div弹出层的方法
2014/11/20 Javascript
JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法
2015/04/25 Javascript
jQuery实现的向下图文信息滚动效果
2015/05/03 Javascript
js+css实现上下翻页相册代码分享
2015/08/18 Javascript
JS模拟酷狗音乐播放器收缩折叠关闭效果代码
2015/10/29 Javascript
获取JS中网页各种高宽与位置的方法总结
2016/07/27 Javascript
基于jQuery实现仿微博发布框字数提示
2016/07/27 Javascript
最棒的Angular2表格控件
2016/08/10 Javascript
JavaScript基础——使用Canvas绘图
2016/11/02 Javascript
浅谈在fetch方法中添加header后遇到的预检请求问题
2017/08/31 Javascript
vue-cli创建的项目,配置多页面的实现方法
2018/03/15 Javascript
vue基于mint-ui实现城市选择三级联动
2020/06/30 Javascript
JavaScript显式数据类型转换详解
2019/03/18 Javascript
typescript nodejs 依赖注入实现方法代码详解
2019/07/21 NodeJs
详解vue中在循环中使用@mouseenter 和 @mouseleave事件闪烁问题解决方法
2020/04/07 Javascript
vue实现PC端分辨率适配操作
2020/08/03 Javascript
vue3中轻松实现switch功能组件的全过程
2021/01/07 Vue.js
Python实现简单截取中文字符串的方法
2015/06/15 Python
python使用matplotlib绘制柱状图教程
2017/02/08 Python
一条命令解决mac版本python IDLE不能输入中文问题
2018/05/15 Python
opencv3/python 鼠标响应操作详解
2019/12/11 Python
python实现图片素描效果
2020/09/26 Python
python中@property的作用和getter setter的解释
2020/12/22 Python
Vilebrequin美国官方网上商店:法国豪华泳装品牌
2020/02/22 全球购物
Java中实现多态的机制
2015/08/09 面试题
反邪教警示教育方案
2014/05/13 职场文书
学风建设演讲稿
2014/09/12 职场文书
科级干部培训心得体会
2016/01/06 职场文书