详解重置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使用xmlrpclib模块实现对百度google的ping功能
Jun 02 Python
轻松实现python搭建微信公众平台
Feb 16 Python
Python使用redis pool的一种单例实现方式
Apr 16 Python
Python实现Mysql数据库连接池实例详解
Apr 11 Python
详解js文件通过python访问数据库方法
Mar 03 Python
PyQT5 QTableView显示绑定数据的实例详解
Jun 25 Python
Python打开文件、文件读写操作、with方式、文件常用函数实例分析
Jan 07 Python
python单例设计模式实现解析
Jan 07 Python
Django 批量插入数据的实现方法
Jan 12 Python
Tensorflow轻松实现XOR运算的方式
Feb 03 Python
python+selenium+PhantomJS抓取网页动态加载内容
Feb 25 Python
pytorch 一行代码查看网络参数总量的实现
May 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 Xdebug 调试扩展的安装与使用.
2010/03/13 PHP
关于js与php互相传值的介绍
2013/06/25 PHP
小程序微信支付功能配置方法示例详解【基于thinkPHP】
2019/05/05 PHP
JavaScript 闭包在封装函数时的简单分析
2009/11/28 Javascript
使用js获取图片原始尺寸
2014/12/03 Javascript
jquery制作多功能轮播图插件
2015/04/02 Javascript
JQuery中属性过滤选择器用法实例分析
2015/05/18 Javascript
学习JavaScript设计模式之享元模式
2016/01/18 Javascript
详解JS正则replace的使用方法
2016/03/06 Javascript
页面get请求 中文参数方法乱码问题的快速解决方法
2016/05/31 Javascript
Nodejs 获取时间加手机标识的32位标识实现代码
2017/03/07 NodeJs
jquery版轮播图效果和extend扩展
2017/07/18 jQuery
ajax+node+request爬取网络图片的实例(宅男福利)
2017/08/28 Javascript
基于Vue-cli快速搭建项目的完整步骤
2018/11/03 Javascript
JS实现点击li标签弹出对应的索引功能【案例】
2019/02/18 Javascript
解决Vue打包上线之后部分CSS不生效的问题
2019/11/12 Javascript
[01:07]2015国际邀请赛 中国区预选赛精彩回顾
2015/06/15 DOTA
详细探究Python中的字典容器
2015/04/14 Python
给Python入门者的一些编程建议
2015/06/15 Python
Python迭代和迭代器详解
2016/11/10 Python
获取python的list中含有重复值的index方法
2018/06/27 Python
Python实现八皇后问题示例代码
2018/12/09 Python
在Python中append以及extend返回None的例子
2019/07/20 Python
Django的用户模块与权限系统的示例代码
2019/07/24 Python
浅谈pytorch grad_fn以及权重梯度不更新的问题
2019/08/20 Python
python 计算两个列表的相关系数的实现
2019/08/29 Python
Python绘图实现显示中文
2019/12/04 Python
Python 3 使用Pillow生成漂亮的分形树图片
2019/12/24 Python
基于Django signals 信号作用及用法详解
2020/03/28 Python
Python requests.post方法中data与json参数区别详解
2020/04/30 Python
美国知名的女性服饰品牌:LOFT(洛芙特)
2016/08/05 全球购物
一名女生的自荐信
2013/12/08 职场文书
教师暑期培训感言
2014/08/15 职场文书
董事会决议范本
2015/07/01 职场文书
创业计划书之废品回收
2019/09/26 职场文书
《敬重卑微》读后感3篇
2019/11/26 职场文书