详解重置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中使用mysql数据库详细介绍
Mar 27 Python
举例讲解如何在Python编程中进行迭代和遍历
Jan 19 Python
Python如何为图片添加水印
Nov 25 Python
python监控linux内存并写入mongodb(推荐)
Sep 11 Python
Python xlwt设置excel单元格字体及格式
Apr 18 Python
python 3.6.2 安装配置方法图文教程
Sep 18 Python
Python面向对象之类的内置attr属性示例
Dec 14 Python
python3在同一行内输入n个数并用列表保存的例子
Jul 20 Python
python UDP(udp)协议发送和接收的实例
Jul 22 Python
Python 字符串、列表、元组的截取与切片操作示例
Sep 17 Python
matplotlib绘制鼠标的十字光标的实现(自定义方式,官方实例)
Jan 10 Python
Django框架中表单的用法
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扩展开发入门教程
2015/02/26 PHP
ThinkPHP模型详解
2015/07/27 PHP
PHP strip_tags保留多个HTML标签的方法
2016/05/22 PHP
PHP MySql增删改查的简单实例
2016/06/21 PHP
QQ登录简单实现代码
2021/03/09 Javascript
音乐播放用的的几个函数
2006/09/07 Javascript
extjs grid取到数据而不显示的解决
2008/12/29 Javascript
Javascript 浮点运算的问题分析与解决方法
2013/08/27 Javascript
JavaScript实现图片DIV竖向滑动的方法
2015/04/25 Javascript
jQuery实现的fixedMenu下拉菜单效果代码
2015/08/24 Javascript
Spring MVC中Ajax实现二级联动的简单实例
2016/07/06 Javascript
jQuery中on方法使用注意事项详解
2017/02/15 Javascript
Angular4.0中引入laydate.js日期插件的方法教程
2017/12/25 Javascript
vue2.0 better-scroll 实现移动端滑动的示例代码
2018/01/25 Javascript
vue中父子组件注意事项,传值及slot应用技巧
2018/05/09 Javascript
[00:09]DOTA2新版本PA至宝特效动作展示
2014/11/19 DOTA
Python格式化压缩后的JS文件的方法
2015/03/05 Python
Python基于Tkinter实现的记事本实例
2015/06/17 Python
浅谈Python中的闭包
2015/07/08 Python
Python字符串切片操作知识详解
2016/03/28 Python
python抓取网页内容并进行语音播报的方法
2018/12/24 Python
Python 获取windows桌面路径的5种方法小结
2019/07/15 Python
python多进程(加入进程池)操作常见案例
2019/10/21 Python
使用CSS3滤镜的filter:blur属性制作毛玻璃模糊效果的方法
2016/07/08 HTML / CSS
CSS3制作皮卡丘动画壁纸的示例
2020/11/02 HTML / CSS
阿拉伯世界最大的电子商务网站:Souq沙特阿拉伯
2016/10/28 全球购物
static全局变量与普通的全局变量有什么区别
2014/05/27 面试题
介绍一下SQL中union,intersect和minus
2012/04/05 面试题
医药营销专业个人自荐信
2013/09/29 职场文书
国贸专业个人求职信范文
2014/01/08 职场文书
电气自动化个人求职信范文
2014/02/03 职场文书
大课间体育活动方案
2014/03/12 职场文书
平安工地汇报材料
2014/08/19 职场文书
财务人员入职担保书
2015/09/22 职场文书
python神经网络Xception模型
2022/05/06 Python
JS前端使用Canvas快速实现手势解锁特效
2022/09/23 Javascript