Django如何重置migration的几种情景

 更新时间:2021年02月24日 09:40:00   作者:卓修武  
这篇文章主要介绍了Django如何重置migration的几种情景,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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

  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画一些简单形状你知道吗

    这篇文章主要介绍了用Python作图的一个简单实例,通过turtle模块实现作图,具有一定参考价值,需要的朋友可以了解下希望能给你带来帮助
    2021-08-08
  • 使用Python快速进行Excel合并的几种场景

    使用Python快速进行Excel合并的几种场景

    由于工作需要,客户需要将多个excel文件合并成一个excel中,下面这篇文章主要给大家介绍了关于使用Python快速进行Excel合并的几种场景,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-10-10
  • win32com操作word之Application&Documents接口学习

    win32com操作word之Application&Documents接口学习

    这篇文章主要为大家介绍了win32com操作word之Application&Documents接口学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • Python Decorator装饰器的创建方法及常用场景分析

    Python Decorator装饰器的创建方法及常用场景分析

    这篇文章主要介绍了Python Decorator装饰器的创建方法及常用场景,装饰器可以分成方法装饰器和类装饰器,他们的区别是一个是用函数实现的装饰器,一个是用类实现的装饰器,他们也都能在方法和类上进行装饰,需要的朋友可以参考下
    2022-07-07
  • 利用Python脚本实现传递参数的三种方式分享

    利用Python脚本实现传递参数的三种方式分享

    使用python脚本传递参数在实际工作过程中还是比较常用。这篇文章为大家总结了三个常用的方式,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-12-12
  • 写一个Python脚本下载哔哩哔哩舞蹈区的所有视频

    写一个Python脚本下载哔哩哔哩舞蹈区的所有视频

    B 站大家都熟悉,尤其是它的舞蹈区.有 100W+ 的舞蹈视频.在没有 wifi 的情况下,就欣赏不了这些视频了.作为一个 python 程序员,小编就写一个 Python 脚本在晚上下载舞蹈区的所有视频,需要的朋友可以参考下
    2021-05-05
  • Python人工智能之sg2im文字转图像

    Python人工智能之sg2im文字转图像

    这篇文章主要介绍了Python人工智能中使用sg2im把文字转成图像的方法,sg2im是一个由Google开发的开源项目,它专注于将场景图形转换为图像,借助sg2im就可以把文字转换成图像,需要的朋友可以参考下
    2021-11-11
  • django免除csrf校验的方法

    django免除csrf校验的方法

    这篇文章主要介绍了django免除csrf校验的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • pytorch 如何实现HWC转CHW

    pytorch 如何实现HWC转CHW

    这篇文章主要介绍了pytorch HWC转CHW的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Python中pygal绘制雷达图代码分享

    Python中pygal绘制雷达图代码分享

    这篇文章主要介绍了Python中pygal绘制雷达图代码分享,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12

最新评论