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和perl实现批量对目录下电子书文件重命名的代码分享
Nov 21 Python
详细介绍Ruby中的正则表达式
Apr 10 Python
举例讲解Python设计模式编程的代理模式与抽象工厂模式
Jan 16 Python
python实现图像识别功能
Jan 29 Python
python特性语法之遍历、公共方法、引用
Aug 08 Python
Python中xml和json格式相互转换操作示例
Dec 05 Python
linux环境中没有网络怎么下载python
Jul 07 Python
tensorflow 保存模型和取出中间权重例子
Jan 24 Python
pandas中read_csv、rolling、expanding用法详解
Apr 21 Python
小 200 行 Python 代码制作一个换脸程序
May 12 Python
使用Tensorflow-GPU禁用GPU设置(CPU与GPU速度对比)
Jun 30 Python
pytorch中的torch.nn.Conv2d()函数图文详解
Feb 28 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提取中文首字母
2008/04/09 PHP
基于Windows下Apache PHP5.3.1安装教程
2010/01/08 PHP
用PHP实现 上一篇、下一篇的代码
2012/09/29 PHP
如何解决CI框架的Disallowed Key Characters错误提示
2013/07/05 PHP
php 伪静态之IIS篇
2014/06/02 PHP
详谈PHP程序Laravel 5框架的优化技巧
2016/07/18 PHP
PHP 对象接口简单实现方法示例
2020/04/13 PHP
Jquery index()方法 获取相应元素索引值
2012/10/12 Javascript
JS实现字体选色板实例代码
2013/11/20 Javascript
JS求平均值的小例子
2013/11/29 Javascript
详解Javascript 装载和执行
2014/11/17 Javascript
JS使用ajax方法获取指定url的head信息中指定字段值的方法
2015/03/24 Javascript
JS实现的最简Table选项卡效果
2015/10/14 Javascript
当jquery ajax遇上401请求的解决方法
2016/05/19 Javascript
js操作XML文件的实现方法兼容IE与FireFox
2016/06/25 Javascript
JS实现重新加载当前页面或者父页面的几种方法
2016/11/30 Javascript
URL中“#” “?” &“”号的作用浅析
2017/02/04 Javascript
微信小程序picker组件下拉框选择input输入框的实例
2017/09/20 Javascript
详解在Vue中有条件地使用CSS类
2017/09/30 Javascript
JS简单获取并修改input文本框内容的方法示例
2018/04/08 Javascript
Javascript表单序列化原理及实现代码详解
2020/10/30 Javascript
Python实现的Kmeans++算法实例
2014/04/26 Python
Python+matplotlib+numpy实现在不同平面的二维条形图
2018/01/02 Python
Python使用pyautogui模块实现自动化鼠标和键盘操作示例
2018/09/04 Python
Python 实用技巧之利用Shell通配符做字符串匹配
2019/08/23 Python
python3中使用__slots__限定实例属性操作分析
2020/02/14 Python
关于多种方式完美解决Python pip命令下载第三方库的问题
2020/12/21 Python
浅谈Python xlwings 读取Excel文件的正确姿势
2021/02/26 Python
雪花秀美国官方网站:韩国著名草本护肤化妆品品牌
2016/10/19 全球购物
VICHY薇姿美国官方网站:欧洲药房第一的抗衰老品牌
2017/11/22 全球购物
SmartBuyGlasses意大利:购买太阳镜、眼镜和隐形眼镜
2018/11/20 全球购物
小学生秋游活动方案
2014/02/23 职场文书
党的群众路线教育实践活动公开承诺书
2014/03/28 职场文书
遵纪守法演讲稿
2014/05/23 职场文书
大学同学聚会感言
2015/07/30 职场文书
jquery插件实现搜索历史
2021/04/24 jQuery