Django如何重置migration的几种情景


Posted in Python onFebruary 24, 2021

情景一:不需要原有的数据库数据

  1. 删除数据库所有的表
  2. 删除项目的migration模块中的所有 文件,除了__init__.py 文件
  3. 执行脚本
python manage.py makemigrations
python manage.py migrate

情景2:不想要删除现有的数据库,只是想重新建立 migration 文件

首先要保证,目前的migration文件和数据库是同步的,通过执行

python manage.py makemigrations

如果看到 这样的提示: No changes detected,则可以继续接下来的步骤

通过执行

python manage.py showmigrations

结果,可以看到当前项目,所有的app及对应的已经生效的migration文件如

git_hook
 [X] 0001_initial
guardian
 [X] 0001_initial
kombu_transport_django
 [X] 0001_initial
message
 (no migrations)
order
 [X] 0001_initial
pay
 [X] 0001_initial
 [x] 0002_add_model
sessions
 [X] 0001_initial

通过执行

$ python manage.py migrate --fake pay zero

这里的 pay就是你要重置的app

之后再执行 python manage.py showmigrations,你会发现 文件前的 [x] 变成了[ ]

现在,你可以删除pay 这个 app下的migrations模块中 除 init.py 之外的所有文件。

之后,执行

$ python manage.py makemigrations

程序会再次为这个app 生成 0001_initial.py 之类的文件

最重要的一步来了, 执行

python manage.py migrate --fake-inital

?fake-inital 会在数据库中的 migrations表中记录当前这个app 执行到 0001_initial.py ,但是它不会真的执行该文件中的 代码。
这样就做到了,既不对现有的数据库改动,而又可以重置 migraion 文件,妈妈再也不用在 migration模块中看到一推文件了。

参考https://simpleisbetterthancomplex.com/tutorial/2016/07/26/how-to-reset-migrations.html

到此这篇关于Django如何重置migration的几种情景的文章就介绍到这了,更多相关Django 重置migration内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python中dir函数用法分析
Apr 17 Python
Python基于pygame实现的弹力球效果(附源码)
Nov 11 Python
Python爬虫DNS解析缓存方法实例分析
Jun 02 Python
使用Python操作excel文件的实例代码
Oct 15 Python
Python之dict(或对象)与json之间的互相转化实例
Jun 05 Python
Windows 安装 Anaconda3+PyCharm的方法步骤
Jun 13 Python
python 实现的发送邮件模板【普通邮件、带附件、带图片邮件】
Jul 06 Python
Python从文件中读取指定的行以及在文件指定位置写入
Sep 06 Python
Python3常用内置方法代码实例
Nov 18 Python
浅谈cv2.imread()和keras.preprocessing中的image.load_img()区别
Jun 12 Python
Python中BeautifulSoup通过查找Id获取元素信息
Dec 07 Python
python中%格式表达式实例用法
Jun 18 Python
Django中的DateTimeField和DateField实现
Feb 24 #Python
Python制作运行进度条的实现效果(代码运行不无聊)
Feb 24 #Python
学点简单的Django之第一个Django程序的实现
Feb 24 #Python
python单例模式的应用场景实例讲解
Feb 24 #Python
python编写扎金花小程序的实例代码
Feb 23 #Python
Python项目实战之使用Django框架实现支付宝付款功能
Feb 23 #Python
Python接口自动化系列之unittest结合ddt的使用教程详解
Feb 23 #Python
You might like
PHP页面间参数传递的四种方法详解
2013/06/09 PHP
ThinkPHP整合百度Ueditor图文教程
2014/10/21 PHP
微信公众平台实现获取用户OpenID的方法
2015/04/15 PHP
php实现json编码的方法
2015/07/30 PHP
PHP实现一个限制实例化次数的类示例
2019/09/16 PHP
再谈ie和firefox下的document.all属性
2009/10/21 Javascript
jqeury-easyui-layout问题解决方法
2014/03/24 Javascript
javascript事件冒泡详解和捕获、阻止方法
2014/04/12 Javascript
javascript判断是否按回车键并解决浏览器之间的差异
2014/05/13 Javascript
javascript数据结构之二叉搜索树实现方法
2015/11/25 Javascript
AngularJS基础 ng-non-bindable 指令详细介绍
2016/08/02 Javascript
JS控制FileUpload的上传文件类型实例代码
2016/10/07 Javascript
原生JS实现图片懒加载(lazyload)实例
2017/06/13 Javascript
React组件之间的通信的实例代码
2017/06/27 Javascript
angular4中引入echarts的方法示例
2019/01/29 Javascript
vue计算属性get和set用法示例
2019/02/08 Javascript
Vue运用transition实现过渡动画
2019/05/06 Javascript
javascript实现点击小图显示大图
2020/11/29 Javascript
天翼开放平台免费短信验证码接口使用实例
2013/12/18 Python
python实现数通设备tftp备份配置文件示例
2014/04/02 Python
Python读写文件方法总结
2015/06/09 Python
Python 基础教程之闭包的使用方法
2017/09/29 Python
致Python初学者 Anaconda入门使用指南完整版
2018/04/05 Python
python实战教程之自动扫雷
2018/07/13 Python
关于tf.TFRecordReader()函数的用法解析
2020/02/17 Python
win10下opencv-python特定版本手动安装与pip自动安装教程
2020/03/05 Python
基于python实现FTP文件上传与下载操作(ftp&sftp协议)
2020/04/01 Python
Ray-Ban雷朋太阳眼镜英国官网:Ray-Ban UK
2019/11/23 全球购物
护士自我鉴定范文
2013/10/06 职场文书
浪漫婚礼主持词
2014/03/14 职场文书
2014年五一活动策划方案
2014/03/15 职场文书
小学“向国旗敬礼”网上签名寄语活动总结
2014/09/27 职场文书
发布会邀请函
2015/01/31 职场文书
2016年春季运动会加油稿
2015/07/22 职场文书
2015年音乐教学工作总结
2015/07/22 职场文书
Pyhton模块和包相关知识总结
2021/05/12 Python