情景一:不需要原有的数据库数据

删除数据库所有的表
删除项目的migration模块中的所有 文件,除了init.py 文件
执行脚本
python3 manage.py makemigrations
python3 manage.py migrate
情景2:不想要删除现有的数据库,只是想重新建立 migration 文件
首先要保证,目前的migration文件和数据库是同步的,通过执行

python3 manage.py makemigrations
如果看到 这样的提示: No changes detected,则可以继续接下来的步骤

  • 通过执行

python3 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

  • 通过执行

$ python3 manage.py migrate –fake pay zero

这里的 pay就是你要重置的app
之后再执行 python manage.pu showmigrations,你会发现 文件前的 [x] 变成了[ ]

  • 现在,删除pay 这个 app下的migrations模块中 除 init.py 之外的所有文件。
  • 通过执行

$ python3 manage.py makemigrations

程序会再次为这个app 生成 0001_initial.py 之类的文件

  • 通过执行

python3 manage.py migrate –fake-initial

–fake-initial 会在数据库中的 migrations表中记录当前这个app 执行到 0001_initial.py ,但是它不会真的执行该文件中的 代码。
这样就做到了,既不对现有的数据库改动,而又可以重置 migraion 文件,妈妈再也不用在 migration模块中看到一推文件了。

  • 特别补充,查看相关步骤的sql语句:

python3 manage.py sqlmigrate appname 0001

Django开发—如何重置migration的更多相关文章

  1. Pycharm搭建Django开发环境

    Pycharm搭建Django开发环境 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们大家都知道Django是python都一个web框架,因此大家需要自行安装python环境 ...

  2. Django开发笔记四

    Django开发笔记一 Django开发笔记二 Django开发笔记三 Django开发笔记四 Django开发笔记五 Django开发笔记六 1.邮箱激活 users app下,models.py: ...

  3. django开发环境搭建(参考流程)

    django开发环境搭建(参考流程) 2013-08-08 01:09:06 分类: LINUX 原文地址:django开发环境搭建(参考流程) 作者:bailiangcn 对于一个初学者,在实际的开 ...

  4. django开发个人简易Blog——数据模型

    提到数据模型,一定要说一下MVC,MVC框架是现代web开发中最流行的开发框架,它将数据与业务逻辑分开,减小了应用之间的高度耦合.个人非常喜欢MVC开发框架,除了具有上述特性,它使得web开发变得非常 ...

  5. Django开发笔记之数据库的设计

    后台采用Django开发,可以体会到开发的便利之处,对于一个项目来说,首先最重要的是数据库的设计,那么在Django下数据库设计主要是如下步骤: 1,需求分析,这点子不用多说,而我也深刻体会到了没有原 ...

  6. django开发的社区和博客

    社区 线上地址:http://codetheme.sinaapp.com/ Githubhttps://github.com/BeginMan/codetheme 由于利用两周下班时间熬夜做的,难免有 ...

  7. django开发中利用 缓存文件 进行页面缓存

    首先我们先来了解下浏览器的缓存 浏览器缓存机制 Cache-control策略 Cache-Control与Expires的作用一致,都是指明当前资源的有效期,控制浏览器是否直接从浏览器缓存取数据还是 ...

  8. Django开发基础----创建项目/应用

    环境: 1.python  3.6.2 2.安装django:pip install django==1.10.3 *下面以开发一个简单的用户签到系统介绍Django的使用 创建Django项目: 命 ...

  9. django开发新手教程(原创)

    为了帮助新手简单高效解决django开发的问题,从而写了这么一篇,随便转载! 本人用的是windows10操作系统 #联网安装 ==指定版本号      我在自定义的www文件夹安装C:\Users\ ...

随机推荐

  1. 如何在python中使用chromedriver

    下载对应版本的chromedriver,不知道版本的请参考:https://stackoverflow.com/a/55266105/11128312 接下来将下载的chromedriver.exe放 ...

  2. PMBOK :美国的项目管理知识体系

    PMBOK 是Project Management Body Of Knowledge的缩写, 指项目管理知识体系的意思,具体是美国项目管理协会(PMI)对项目管理所需的知识.技能和工具进行的概括性描 ...

  3. 【每日一包0008】arr-diff

    [github地址:https://github.com/ABCDdouyae...] arr-diff 多个数组比较,过滤出第一个数组独有的内容 用法:arr-diff(arr1, arr2, ar ...

  4. 微信小程序轮播图的制作与跳转

    <!--轮播图 --> <view class='swiperBanner'> <swiper indicator-dots='{{indicatorDots}}' au ...

  5. 使用Vue做个简单的评论 + localstorage存储

     1.引入Vue.js 2.编写代码 代码 <!DOCTYPE html> <html lang="zh"> <head> <meta c ...

  6. MySql触发器简介

    MySQL 数据库中触发器是一个特殊的存储过程,不同的是执行存储过程要使用 CALL 语句来调用,而触发器的执行不需要使用 CALL 语句来调用,也不需要手工启动,只要一个预定义的事件发生就会被 My ...

  7. C# SqlDataReader

    var reader = MSSQLHelper.ExecuteReader(sb.ToString(), out erro, ConnectionString); //SqlDataReader / ...

  8. 51 Nod 数字1的数量

    1009 数字1的数量  基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题  收藏  关注 给定一个十进制正整数N,写下从1开始,到N的所有正数,计算出其中出现所有1的 ...

  9. ubuntu下jps命令无效

    jps命令无效 #启动zookeeper $ sudo ./zkServer.sh start [sudo] jjboom 的密码: ZooKeeper JMX enabled by default ...

  10. (LeetCode)1114. 按序打印

    题目来源:https://leetcode-cn.com/problems/print-in-order/ 我们提供了一个类: public class Foo {  public void one( ...