详解重置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获取脚本所在目录的正确方法
Apr 15 Python
Python自动化构建工具scons使用入门笔记
Mar 10 Python
举例介绍Python中的25个隐藏特性
Mar 30 Python
Python编程实现生成特定范围内不重复多个随机数的2种方法
Apr 14 Python
Python排序算法之选择排序定义与用法示例
Apr 29 Python
Python创建字典的八种方式
Feb 27 Python
Python爬虫实现爬取百度百科词条功能实例
Apr 05 Python
python3 实现爬取TOP500的音乐信息并存储到mongoDB数据库中
Aug 24 Python
python解析yaml文件过程详解
Aug 30 Python
Python虚拟环境venv用法详解
May 25 Python
python mongo 向数据中的数组类型新增数据操作
Dec 05 Python
深入理解pytorch库的dockerfile
Jun 10 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,ajax实现分页
2008/03/27 PHP
Ajax+PHP边学边练 之五 图片处理
2009/12/03 PHP
php中关于codeigniter的xmlrpc的类在进行数据交换时的类型问题
2011/07/03 PHP
PHP 无限分类三种方式 非函数的递归调用!
2011/08/26 PHP
PHP开发APP端微信支付功能
2017/02/17 PHP
前淘宝前端开发工程师阿当的PPT中有JS技术理念问题
2010/01/15 Javascript
JQuery弹出层示例可自定义
2014/05/19 Javascript
一个奇葩的最短的 IE 版本判断JS脚本
2014/05/28 Javascript
jquery中animate的stop()方法作用实例分析
2015/01/30 Javascript
js设置document.domain实现跨域的注意点分析
2015/05/21 Javascript
Bootstrap布局之栅格系统详解
2016/06/13 Javascript
javascript 广告移动特效的实现代码
2016/06/25 Javascript
easyui combotree加载静态数据问题(选不上)解决方法
2016/12/26 Javascript
Javascript中for循环语句的几种写法总结对比
2017/01/23 Javascript
jQuery实现使用sort方法对json数据排序的方法
2018/04/17 jQuery
使用Vue组件实现一个简单弹窗效果
2018/04/23 Javascript
javascript中数组的常用算法深入分析
2019/03/12 Javascript
微信小程序 Storage更新详解
2019/07/16 Javascript
浅谈layui 数据表格前后台传值的问题
2019/09/12 Javascript
使用Bootstrap做一个朝代历史表
2019/12/10 Javascript
[03:49]2016完美“圣”典风云人物:AMS专访
2016/12/06 DOTA
[49:05]OG vs Newbee 2019DOTA2国际邀请赛淘汰赛 胜者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
Python urlopen()函数 示例分享
2014/06/12 Python
浅析Python编写函数装饰器
2016/03/18 Python
使用Python实现博客上进行自动翻页
2017/08/23 Python
Python输出带颜色的字符串实例
2017/10/10 Python
Django实现后台上传并显示图片功能
2020/05/29 Python
python源文件的字符编码知识点详解
2021/03/04 Python
MONNIER Frères英国官网:源自巴黎女士奢侈品配饰电商平台
2018/12/06 全球购物
JPA的优势都有哪些
2013/07/04 面试题
一月红领巾广播稿
2014/02/11 职场文书
岗位职责风险点
2014/03/12 职场文书
社会实践先进工作者事迹材料
2014/05/06 职场文书
积极向上的团队口号
2014/06/06 职场文书
商务宴会祝酒词
2015/08/11 职场文书
各种货币符号快捷输入
2022/02/17 杂记