详解重置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 09 Python
python中安装模块包版本冲突问题的解决
May 02 Python
Python异常的检测和处理方法
Oct 26 Python
pandas DataFrame 删除重复的行的实现方法
Jan 29 Python
Python简直是万能的,这5大主要用途你一定要知道!(推荐)
Apr 03 Python
使用python实现简单五子棋游戏
Jun 18 Python
python树的同构学习笔记
Sep 14 Python
Python MOCK SERVER moco模拟接口测试过程解析
Apr 13 Python
解决Jupyter无法导入已安装的 module问题
Apr 17 Python
Flask模板引擎Jinja2使用实例
Apr 23 Python
Python 下载Bing壁纸的示例
Sep 29 Python
python必学知识之文件操作(建议收藏)
May 30 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
比特率,大家看看这个就不用收音机音质去比MP3音质了
2021/03/01 无线电
PHP中将字符串转化为整数(int) intval() printf() 性能测试
2020/03/20 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
2017/12/25 PHP
对laravel in 查询的使用方法详解
2019/10/09 PHP
用javascript实现给出的盒子的序列是否可连为一矩型
2007/08/30 Javascript
jQuery 阴影插件代码分享
2012/01/09 Javascript
js中的referrer返回上一页使用介绍
2013/09/26 Javascript
jquery浏览器滚动加载技术实现方案
2014/06/03 Javascript
理解Angular数据双向绑定
2016/01/10 Javascript
bootstrap3 兼容IE8浏览器!
2016/05/02 Javascript
Angular2-primeNG文件上传模块FileUpload使用详解
2017/01/14 Javascript
JS使用插件cryptojs进行加密解密数据实例
2017/05/11 Javascript
通过命令行创建vue项目的方法
2017/07/20 Javascript
使用Angular material主题定义自己的组件库的配色体系
2019/09/04 Javascript
React路由鉴权的实现方法
2019/09/05 Javascript
小程序表单认证布局及验证详解
2020/06/19 Javascript
谈一谈vue请求数据放在created好还是mounted里好
2020/07/27 Javascript
基于vue--key值的特殊用处详解
2020/07/31 Javascript
微信小程序实现加入购物车滑动轨迹
2020/11/18 Javascript
[51:44]2018DOTA2亚洲邀请赛 4.3 突围赛 Optic vs iG 第二场
2018/04/04 DOTA
Django 忘记管理员或忘记管理员密码 重设登录密码的方法
2018/05/30 Python
在django-xadmin中APScheduler的启动初始化实例
2019/11/15 Python
HTML 5 标签、属性、事件及浏览器兼容性速查表 附打包下载
2012/10/20 HTML / CSS
海滩咖啡馆:Beach Cafe
2018/02/02 全球购物
JD Sports马来西亚:英国领先的运动鞋和运动服饰零售商
2018/03/13 全球购物
Bailey帽子官方商店:Bailey Hats
2018/09/25 全球购物
Yankee Candle官网:美国最畅销蜡烛品牌之一
2020/01/05 全球购物
Contém1g官网:巴西彩妆品牌
2020/01/17 全球购物
电视购物广告词
2014/03/19 职场文书
党风廉设责任书
2014/04/16 职场文书
生产助理岗位职责
2014/06/18 职场文书
乡镇干部个人整改措施思想汇报
2014/10/10 职场文书
建党伟业观后感
2015/06/01 职场文书
关爱留守儿童主题班会
2015/08/13 职场文书
python 对图片进行简单的处理
2021/06/23 Python
MySQL慢查询优化解决问题
2022/03/17 MySQL