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 相关文章推荐
浅谈scrapy 的基本命令介绍
Jun 13 Python
Python比较配置文件的方法实例详解
Jun 06 Python
利用Python模拟登录pastebin.com的实现方法
Jul 12 Python
python自带tkinter库实现棋盘覆盖图形界面
Jul 17 Python
Django项目创建到启动详解(最全最详细)
Sep 07 Python
python实现简单图书管理系统
Nov 22 Python
python实现图片横向和纵向拼接
Mar 05 Python
详解用Pytest+Allure生成漂亮的HTML图形化测试报告
Mar 31 Python
Django Xadmin多对多字段过滤实例
Apr 07 Python
python dict乱码如何解决
Jun 07 Python
Elasticsearch py客户端库安装及使用方法解析
Sep 14 Python
Python 操作SQLite数据库的示例
Oct 16 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+MYSQL会员系统的登陆即权限判断实现代码
2011/09/23 PHP
PHP 图片水印类代码
2012/08/27 PHP
优化WordPress的Google字体以加速国内服务器上的运行
2015/11/24 PHP
发布BlueShow v1.0 图片浏览器(类似lightbox)blueshow.js 打包下载
2007/07/21 Javascript
InnerHtml和InnerText的区别分析
2009/03/13 Javascript
使用JavaScript构建JSON格式字符串实现步骤
2013/03/22 Javascript
JavaScript对象和字串之间的转换实例探讨
2013/04/21 Javascript
Array栈方法和队列方法的特点说明
2014/01/24 Javascript
Javascript基础教程之数据类型 (字符串 String)
2015/01/18 Javascript
JS基于FileSystemObject创建一个指定路径的TXT文本文件
2015/08/05 Javascript
基于jQuery实现多层次的手风琴效果附源码
2015/09/21 Javascript
JavaScript编写检测用户所使用的浏览器的代码示例
2016/05/05 Javascript
纯JS前端实现分页代码
2016/06/21 Javascript
JavaScript 程序错误Cannot use 'in' operator to search的解决方法
2017/07/10 Javascript
js将键值对字符串转为json字符串的方法
2018/03/30 Javascript
react-native使用leanclound消息推送的方法
2018/08/06 Javascript
react实现换肤功能的示例代码
2018/08/14 Javascript
Vue实现用户自定义字段显示数据的方法
2018/08/28 Javascript
vue父组件触发事件改变子组件的值的方法实例详解
2019/05/07 Javascript
小程序根据手机机型设置自定义底部导航距离
2019/06/04 Javascript
ionic+html5+API实现双击返回键退出应用
2019/09/17 Javascript
Vue.js原理分析之nextTick实现详解
2020/09/07 Javascript
vue-cli3项目配置eslint代码规范的完整步骤
2020/09/10 Javascript
python访问纯真IP数据库的代码
2011/05/19 Python
Python 字符串操作方法大全
2014/03/11 Python
pip 错误unused-command-line-argument-hard-error-in-future解决办法
2014/06/01 Python
跟老齐学Python之有容乃大的list(1)
2014/09/14 Python
tensorflow:指定gpu 限制使用量百分比,设置最小使用量的实现
2020/02/06 Python
Python如何使用turtle库绘制图形
2020/02/26 Python
戴森西班牙官网:Dyson西班牙
2020/02/04 全球购物
部队领导证婚词
2014/01/12 职场文书
小班秋游活动方案
2014/02/22 职场文书
艺术设计专业毕业生推荐信
2014/07/08 职场文书
中学生纪念九一八事变演讲稿
2014/09/14 职场文书
文明倡议书
2015/01/19 职场文书
python人工智能human learn绘图可创建机器学习模型
2021/11/23 Python