详解重置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中endswith()函数的基本使用
Apr 07 Python
如何在Python中编写并发程序
Feb 27 Python
scrapy爬虫实例分享
Dec 28 Python
Python3实现购物车功能
Apr 18 Python
NumPy 数学函数及代数运算的实现代码
Jul 18 Python
Python3 利用requests 库进行post携带账号密码请求数据的方法
Oct 26 Python
python3使用QQ邮箱发送邮件
May 20 Python
Python3.5内置模块之time与datetime模块用法实例分析
Apr 27 Python
python做反被爬保护的方法
Jul 01 Python
python3获取url文件大小示例代码
Sep 18 Python
python 读取更新中的log 或其它文本方式
Dec 24 Python
pytorch中的transforms模块实例详解
Dec 31 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中CI操作多个数据库的代码
2012/07/05 PHP
qTip 基于JQuery的Tooltip插件[兼容性好]
2010/09/01 Javascript
js数组与字符串的相互转换方法
2014/07/09 Javascript
JavaScript截取字符串的2个函数介绍
2014/08/27 Javascript
使用Javascript简单实现图片无缝滚动
2014/12/05 Javascript
JS获取iframe中longdesc属性的方法
2015/04/01 Javascript
浅析$.getJSON异步请求和同步请求
2016/06/06 Javascript
AngularJS入门教程之更多模板详解
2016/08/19 Javascript
JS for...in 遍历语句用法实例分析
2016/08/24 Javascript
JS实现的自动打字效果示例
2017/03/10 Javascript
jQuery实现一个简单的验证码功能
2017/06/26 jQuery
写一个移动端惯性滑动&回弹Vue导航栏组件 ly-tab
2018/03/06 Javascript
用jQuery将JavaScript对象转换为querystring查询字符串的方法
2018/11/12 jQuery
JS立即执行函数功能与用法分析
2019/01/15 Javascript
Angular.JS读取数据库数据调用完整实例
2019/07/02 Javascript
浅谈对于“不用setInterval,用setTimeout”的理解
2019/08/28 Javascript
javascript实现拖拽碰撞检测
2020/03/12 Javascript
用pywin32实现windows模拟鼠标及键盘动作
2014/04/22 Python
Python 获取新浪微博的最新公共微博实例分享
2014/07/03 Python
通过实例浅析Python对比C语言的编程思想差异
2015/08/30 Python
django实现登录时候输入密码错误5次锁定用户十分钟
2017/11/05 Python
python爬虫爬取淘宝商品信息(selenum+phontomjs)
2018/02/24 Python
python安装模块如何通过setup.py安装(超简单)
2018/05/05 Python
详解django自定义中间件处理
2018/11/21 Python
基于Python实现用户管理系统
2019/02/26 Python
美国专注于健康商品的网站:eVitamins
2017/01/23 全球购物
SmartBuyGlasses中国:唯视良品(销售名牌太阳镜、墨镜和眼镜框)
2017/07/03 全球购物
美国时尚配饰品牌:Dooney & Bourke
2017/11/14 全球购物
西班牙语在线票务市场:SuperBoletería
2019/06/10 全球购物
办公室文员岗位职责范本
2014/06/12 职场文书
2015年党风廉政承诺书
2015/01/22 职场文书
2015年企业工作总结范文
2015/04/28 职场文书
2015国庆66周年宣传语
2015/07/14 职场文书
redis内存空间效率问题的深入探究
2021/05/17 Redis
PyTorch 实现L2正则化以及Dropout的操作
2021/05/27 Python
python实现学生信息管理系统(面向对象)
2022/06/05 Python