详解重置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 异常处理实例详解
Mar 12 Python
Python实现抓取百度搜索结果页的网站标题信息
Jan 22 Python
Python常用小技巧总结
Jun 01 Python
用Python实现命令行闹钟脚本实例
Sep 05 Python
python 批量修改/替换数据的实例
Jul 25 Python
pandas 条件搜索返回列表的方法
Oct 30 Python
PyCharm设置每行最大长度限制的方法
Jan 16 Python
python实现字符串加密 生成唯一固定长度字符串
Mar 22 Python
seek引发的python文件读写的问题及解决
Jul 26 Python
django在保存图像的同时压缩图像示例代码详解
Feb 11 Python
详解Python3中的 input() 函数
Mar 18 Python
使用python脚本自动生成K8S-YAML的方法示例
Jul 12 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
2006/11/25 PHP
php页面消耗内存过大的处理办法
2013/03/18 PHP
php+ajax实时刷新简单实例
2015/02/25 PHP
Chrome Form多次提交表单问题的解决方法
2011/05/09 Javascript
ajax页面无刷新 IE下遭遇Ajax缓存导致数据不更新的问题
2012/12/11 Javascript
固定表格行列(expression)在IE下适用
2013/07/25 Javascript
js读取被点击次数的简单实例(从数据库中读取)
2014/03/07 Javascript
javascript背景时钟实现方法
2015/06/18 Javascript
jQuery实现动态表单验证时文本框抖动效果完整实例
2015/08/21 Javascript
js实现文字截断功能
2016/09/14 Javascript
jQuery获取Table某列的值(推荐)
2017/03/03 Javascript
bootstrap table实现双击可编辑、添加、删除行功能
2017/09/27 Javascript
vue component 中引入less文件报错 Module build failed
2019/04/17 Javascript
vue 实现单选框设置默认选中值
2019/11/07 Javascript
vue-router为激活的路由设置样式操作
2020/07/18 Javascript
vue或react项目生产环境去掉console.log的操作
2020/09/02 Javascript
Python程序员开发中常犯的10个错误
2014/07/07 Python
用Python实现QQ游戏大家来找茬辅助工具
2014/09/14 Python
Python实现从脚本里运行scrapy的方法
2015/04/07 Python
基于python爬虫数据处理(详解)
2017/06/10 Python
Python实现按学生年龄排序的实际问题详解
2017/08/29 Python
详解Python3中的迭代器和生成器及其区别
2018/10/09 Python
对django中render()与render_to_response()的区别详解
2018/10/16 Python
selenium python 实现基本自动化测试的示例代码
2019/02/25 Python
Python匿名函数/排序函数/过滤函数/映射函数/递归/二分法
2019/06/05 Python
python实现邮件发送功能
2019/08/10 Python
python构建指数平滑预测模型示例
2019/11/21 Python
jupyter note 实现将数据保存为word
2020/04/14 Python
python利用xpath爬取网上数据并存储到django模型中
2021/02/26 Python
Net-A-Porter美国官网:全球时尚奢侈品名站
2017/02/11 全球购物
可打印的优惠券、杂货和优惠券代码:Coupons.com
2018/06/12 全球购物
Onzie官网:美国时尚瑜伽品牌
2019/08/21 全球购物
大专生自我鉴定怎么写
2014/09/16 职场文书
党的群众路线对照检查材料
2014/09/22 职场文书
高效笔记技巧分享:学会这些让你不再困扰
2019/09/04 职场文书
解决Golang中goroutine执行速度的问题
2021/05/02 Golang