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


猜你喜欢
- 本文实例为大家分享了python实现求纯色彩图像的边框,供大家参考,具体内容如下先上效果图,这里显示有点色差, 实际数值是纯色的, 而不是混
- 计算交并比:交的面积除以并的面积。要求矩形框的长和宽应该平行于图片框。不然不能用这样的公式计算。原理,从一维上来理解:两条红线的距离之和减去
- 需要在 ~/.pip/pip.conf 配置文件中加入下面的语句,避免这类警告:没有目录或没有配置文件需要自己新建mkdir ~/.pip/
- 项目中需要实现人脸登陆功能,实现思路为在前端检测人脸,把人脸照片发送到后端识别,返回用户token登陆成功前端调用摄像头使用tracking
- 引子平常的文本处理工作中,我经常会遇到这么一种情况:用python判断一个string是否包含一个list里的元素。这时候使用python的
- 一、前言在上一小节,我们介绍了文件的基本操作以及数据交换的格式,为了巩固我们上一节文件操作的知识。在这里我们做一个最基本的案例:用户登录二、
- 使用Python时,常遇到的一个问题就是Python和库的版本不同。Anaconda的env算是解决这个问题的一个好用的方法。但是,在使用J
- 该语句的作用是:启用或禁用错误处理程序。一般用法如下:On Error Resume NextOn Error GoTo 0如果在您的代码中
- 目录一.前提二.token加密与解密三.视图CBV四.framework认证功能五.利用postman软件在前端提交一.前提首先是这个代码基
- python提供了大量的库,可以非常方便的进行各种操作,现在把python中实现读写csv文件的方法使用程序的方式呈现出来。在编写pytho
- Python中和Pandas中数据类型对应关系如下:果数据是纯净的数据,可以转化为数字astype基本也就是两种用作,数字转化为单纯字符串,
- oracle mysql 中的“不等于“ <> != ^= is notoracleoracle中的
- str.join即sequence – 要连接的元素序列。返回通过指定字符连接序列中元素后生成的新字符串。n =
- 前言本文主要给大家介绍了关于python中reduce()函数使用的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:
- pandas 保存数据到excel,csvpandas 保存数据比较简单对于任意一个dataframe:import pandas as p
- 本文实例讲述了Python计算一个给定时间点前一个月和后一个月第一天的方法。分享给大家供大家参考,具体如下:python如何获取一个时间点的
- mtx文件是按照稀疏矩阵格式存储的矩阵数据,可以按照以下步骤读取:1、安装scanpy包pip install scanpy2、文件读取im
- 时间久了,注册用户和朋友数据库里的废记录渐渐多了起来,尤其是电子邮件地址,请问有什么好的办法可以快速安全地将它们删除吗?试试下面这个办法,它
- 前言延迟队列是一个非常有用的工具,我们经常遇到需要使用延迟队列的场景,比如延迟通知,订单关闭等等。这篇文章主要是使用Go+Kafka实现延迟
- Windows•安装lxml最好的安装方式是通过wheel文件来安装,http://www.lfd.uci.edu/~gohlke/pyth