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中字符编码简介、方法及使用建议
Jan 08 Python
Python随机生成一个6位的验证码代码分享
Mar 24 Python
Python中将dataframe转换为字典的实例
Apr 13 Python
python3.X 抓取火车票信息【修正版】
Jun 19 Python
CentOS7下python3.7.0安装教程
Jul 30 Python
python实现两个经纬度点之间的距离和方位角的方法
Jul 05 Python
python opencv实现gif图片分解的示例代码
Dec 13 Python
python DataFrame转dict字典过程详解
Dec 26 Python
Python如何读取文件中图片格式
Jan 13 Python
Python短信轰炸的代码
Mar 25 Python
python实现126邮箱发送邮件
May 20 Python
Python+uiautomator2实现自动刷抖音视频功能
Apr 29 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 if 想到的些问题
2008/03/22 PHP
生成ubuntu自动切换壁纸xml文件的php代码
2010/07/17 PHP
php中使用preg_match_all匹配文章中的图片
2013/02/06 PHP
让CodeIgniter的ellipsize()支持中文截断的方法
2014/06/12 PHP
php数组合并与拆分实例分析
2015/06/12 PHP
PHP设计模式之观察者模式实例
2016/02/22 PHP
全面解析PHP验证码的实现原理 附php验证码小案例
2016/08/17 PHP
YII2框架使用控制台命令的方法分析
2020/03/18 PHP
匹配任意字符的正则表达式写法
2010/04/29 Javascript
JavaScript中使用构造函数实现继承的代码
2010/08/12 Javascript
javascript结合CSS实现苹果开关按钮特效
2015/04/07 Javascript
18个非常棒的jQuery代码片段
2015/11/02 Javascript
JavaScript对象数组如何按指定属性和排序方向进行排序
2016/06/15 Javascript
浅谈JavaScript中的this指针和引用知识
2016/08/05 Javascript
利用JavaScript在网页实现八数码启发式A*算法动画效果
2017/04/16 Javascript
React Native中Navigator的使用方法示例
2017/10/13 Javascript
vue脚手架搭建项目的兼容性配置详解
2018/07/17 Javascript
pygame学习笔记(6):完成一个简单的游戏
2015/04/15 Python
一个基于flask的web应用诞生 组织结构调整(7)
2017/04/11 Python
Python切片操作实例分析
2018/03/16 Python
python实现猜单词小游戏
2020/05/22 Python
Python读取YUV文件,并显示的方法
2018/12/04 Python
Pytorch之卷积层的使用详解
2019/12/31 Python
Python学习工具jupyter notebook安装及用法解析
2020/10/23 Python
使用HTML5捕捉音频与视频信息概述及实例
2018/08/22 HTML / CSS
canvas实现图片马赛克的示例代码
2018/03/26 HTML / CSS
Michael Kors美国官网:美式奢侈生活风格的代表
2016/11/25 全球购物
英国领先的在线高尔夫设备零售商:Golfgeardirect
2020/12/11 全球购物
华为python面试题
2016/05/03 面试题
大学生入党推荐书范文
2014/05/17 职场文书
会议开幕词
2015/01/28 职场文书
幼儿园教研工作总结2015
2015/05/12 职场文书
婚礼伴郎致辞
2015/07/28 职场文书
八年级物理教学反思
2016/02/19 职场文书
使用Vue3+Vant组件实现App搜索历史记录功能(示例代码)
2021/06/09 Vue.js
Win11绿屏怎么办?Win11绿屏死机的解决方法
2021/11/21 数码科技