详解重置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中的字典遍历备忘
Jan 17 Python
详细解读Python中的__init__()方法
May 02 Python
利用Python循环(包括while&for)各种打印九九乘法表的实例
Nov 06 Python
利用python 更新ssh 远程代码 操作远程服务器的实现代码
Feb 08 Python
pygame游戏之旅 按钮上添加文字的方法
Nov 21 Python
python 实现将文件或文件夹用相对路径打包为 tar.gz 文件的方法
Jun 10 Python
python分布式编程实现过程解析
Nov 08 Python
python通过链接抓取网站详解
Nov 20 Python
关于Python中定制类的比较运算实例
Dec 19 Python
Python内置异常类型全面汇总
May 28 Python
基于python实现操作git过程代码解析
Jul 27 Python
详解Python 中的 defaultdict 数据类型
Feb 22 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 PDOStatement::closeCursor讲解
2019/01/30 PHP
JavaScript高级程序设计
2006/12/29 Javascript
jquery ajax 简单范例(界面+后台)
2013/11/19 Javascript
jquery禁止输入数字以外的字符的示例(纯数字验证码)
2014/04/10 Javascript
jquery图形密码实现方法
2015/03/11 Javascript
javascript实现捕捉键盘上按下的键
2015/05/05 Javascript
JS动画效果打开、关闭层的实现方法
2015/05/09 Javascript
js实现文字闪烁特效的方法
2015/12/17 Javascript
jQuery validate验证插件使用详解
2016/05/11 Javascript
jquery 遍历数组 each 方法详解
2016/05/25 Javascript
玩转JavaScript OOP - 类的实现详解
2016/06/08 Javascript
json对象与数组以及转换成js对象的简单实现方法
2016/06/24 Javascript
BootStrap tooltip提示框使用小结
2016/10/26 Javascript
jQuery实现圣诞节礼物动画案例解析
2016/12/25 Javascript
想用好React的你必须要知道的一些事情
2017/07/24 Javascript
微信小程序实战篇之购物车的实现代码示例
2017/11/30 Javascript
javascript修改浏览器title方法 JS动态修改浏览器标题
2017/11/30 Javascript
基于Vue SEO的四种方案(小结)
2019/07/01 Javascript
使用apifm-wxapi模块中的问题及解决方法
2019/08/05 Javascript
[39:02]DOTA2亚洲邀请赛 3.31 小组赛 B组 Mineski vs VGJ.T
2018/04/01 DOTA
利用python微信库itchat实现微信自动回复功能
2017/05/18 Python
python实现寻找最长回文子序列的方法
2018/06/02 Python
如何利用Python分析出微信朋友男女统计图
2019/01/25 Python
详解python读取image
2019/04/03 Python
让你的Python代码实现类型提示功能
2019/11/19 Python
Python生成个性签名图片获取GUI过程解析
2019/12/16 Python
纯css3(无图片/js)制作的几个社交媒体网站的图标
2013/03/21 HTML / CSS
基本款天堂:Everlane
2017/05/13 全球购物
可持续木材、生态和铝制太阳镜:Proof Eyewear
2019/07/24 全球购物
汽车检测与维修应届毕业生求职信
2013/10/19 职场文书
升国旗仪式主持词
2014/03/19 职场文书
小学生美德少年事迹材料
2014/08/24 职场文书
干部职工纪律作风整改措施思想汇报
2014/10/11 职场文书
湘江北去观后感
2015/06/15 职场文书
职工趣味运动会开幕词
2016/03/04 职场文书
Python实现简单的猜单词
2021/06/15 Python