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中使用select模块实现非阻塞的IO
Feb 03 Python
python内存管理分析
Apr 08 Python
使用Python的urllib2模块处理url和图片的技巧两则
Feb 18 Python
pycharm 主题theme设置调整仿sublime的方法
May 23 Python
Python操作mongodb数据库进行模糊查询操作示例
Jun 09 Python
Python设计模式之迭代器模式原理与用法实例分析
Jan 10 Python
Python3 导入上级目录中的模块实例
Feb 16 Python
python+os根据文件名自动生成文本
Mar 21 Python
利用python如何在前程无忧高效投递简历
May 07 Python
Python变量及数据类型用法原理汇总
Aug 06 Python
使用anaconda安装pytorch的实现步骤
Sep 03 Python
Python中requests库的用法详解
Jun 05 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之生成GIF动画的实现方法
2013/06/07 PHP
解析php中const与define的应用区别
2013/06/18 PHP
PHP中cookie和session的区别实例分析
2014/08/28 PHP
PHP入门教程之上传文件实例详解
2016/09/11 PHP
Yii框架响应组件用法实例分析
2019/09/04 PHP
JS Array对象入门分析
2008/10/30 Javascript
javascript初学者常用技巧
2014/09/02 Javascript
js兼容pc端浏览器并有多种弹出小提示的手机端浮层控件实例
2015/04/29 Javascript
JS数组array元素的添加和删除方法代码实例
2015/06/01 Javascript
json实现添加、遍历与删除属性的方法
2016/06/17 Javascript
js 原型对象和原型链理解
2017/02/09 Javascript
jQuery插件zTree实现的基本树与节点获取操作示例
2017/03/08 Javascript
面试常见的js算法题
2017/03/23 Javascript
Angular2学习教程之ng中变更检测问题详解
2017/05/28 Javascript
JS实现经典的中国地区三级联动下拉菜单功能实例【测试可用】
2017/06/06 Javascript
seajs模块压缩问题与解决方法实例分析
2017/10/10 Javascript
vue实现动态添加数据滚动条自动滚动到底部的示例代码
2018/07/06 Javascript
Vue Extends 扩展选项用法完整实例
2019/09/17 Javascript
浅谈element中InfiniteScroll按需引入的一点注意事项
2020/06/05 Javascript
js实现带有动画的返回顶部
2020/08/09 Javascript
tensorflow建立一个简单的神经网络的方法
2018/02/10 Python
Python基于聚类算法实现密度聚类(DBSCAN)计算【测试可用】
2018/12/26 Python
python爬虫租房信息在地图上显示的方法
2019/05/13 Python
基于pandas中expand的作用详解
2019/12/17 Python
在Python3.74+PyCharm2020.1 x64中安装使用Kivy的详细教程
2020/08/07 Python
python 视频下载神器(you-get)的具体使用
2021/01/06 Python
解释一下钝化(Swap out)
2016/12/26 面试题
施工资料员的岗位职责
2013/12/22 职场文书
保护环境倡议书
2014/04/14 职场文书
高中美术教师事迹材料
2014/08/22 职场文书
单位接收函格式
2015/01/30 职场文书
自荐信格式范文
2015/03/04 职场文书
2016年“我们的节日·清明节”活动总结
2016/04/01 职场文书
2019预备党员转正申请书模板2篇!
2019/08/07 职场文书
创业计划书之网吧
2019/10/10 职场文书
工厂无线对讲系统解决方案
2022/02/18 无线电