Django如何重置migration的几种情景
作者:卓修武 发布时间:2021-11-17 14:35:34
标签:Django,重置,migration
情景一:不需要原有的数据库数据
删除数据库所有的表
删除项目的migration模块中的所有 文件,除了__init__.py 文件
执行脚本
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
来源:https://blog.csdn.net/zhuoxiuwu/article/details/52167599
0
投稿
猜你喜欢
- 目录分析问题音频url搜索urlJS代码实现分析问题音频url点入某个音乐的播放界面,通过F12-Network,分析数据,可以看到有一个i
- 在windows下的解决办法如下: 1.net stop mysql 停用服务 &
- 如何准确获知对方来访问的时间和URL?代码如下:logfile.asp<%Dim ValidLog '&n
- 一个不错的js星级评分代码,可以评多个指标。相关文章推荐:用css制作星级投票评分功能 效果图:<script language=&q
- 在IE浏览器调试代码,我们可以选择使用 IE WebDeveloper但是我个人用惯了ff浏览器下的firebug,所以在网上搜了一下,如果
- 写在前面当然这里说的百分百可能有点夸张,但其实想象一下,游戏里面的某个窗口的字符就是那种样子,不会变化的。而且识别的字符可能也不需要太多。中
- 组合模式Composite Pattern是什么组合模式是一种结构型模式,它允许你将对象组合成树形结构来表示“部分-整体
- 刚才要说的是这几天亲身体验了一下ebay的AIR感觉挺不错的,无论从界面,交互,功能上都感觉挺好的。关于topic中的“剑走偏锋”是因为我认
- 如果我们的web应用有大量的异步请求,而这些异步请求是在web服务器认证的情况下,那当我们请求发生在服务器认证失效下,服务器自动302到登录
- 简洁的隐藏垂直菜单在hover时将内容展开。这样的效果在JS里有很多个版本,但这个可以说是绝无仅有的CSS版本。此菜单可以在IE5.5,IE
- PHP join() 函数实例把数组元素组合为一个字符串:<?php $arr = array('Hello',
- 【原文地址】New "Orcas" Language Feature: Query Syntax 【原文发表日期】 Sa
- JS提供两个截取字符串的方法,分别是:slice()和substring()slice和substring都可以接受一个或两个参数,第1个参
- 这是一个很和谐很实用的网站管理程序,和我以前介绍的服务器管理程序不同的是,这个程序只有一个功能,就是实现远程Web方式删除文件(实际上是重命
- 这里列出了javascript 中的document.execCommand() 的各种参数说明:2D-Position 允许通过
- 函数名:FenYe(url,pageCount,recordCount,curPage,cssstyle)  
- 人们对于产品设计这类事情,往往容易眼高手低,在宇宙层面上夸夸其谈,却落不了地,只能飘着。真正到了自己动手的时候,才会发现问题很多,实践和理论
- 最近发现一常见的加载进度条(loadding)的问题,所以试试,觉得还不错,大家可以看下.当然这个只是一个效果而已!呵呵,用的着的时候,你就
- 本文采用OpenCV3和Python3 来实现静态图片的人脸识别,采用的是Haar文件级联。 首先需要将OpenCV3源代码中找到data文
- 在软件开发的初始阶段,开发商们总是想把整个系统的最小的细节设计好了,然后再去单线程的编写代码。这样软件开发完成需要很长时间,但开发商们一直都