migration java_如何重置migration

migration java_如何重置migration如何重置 migration 情景一 不需要原有的数据库数据删除数据库所有的表删除项目的 migration 模块中的所有文件 除了 init py 文件执行脚本 pythonmanage pymakemigrat pymigrate 情景二 不想要删除现有的数据库 只是想重新建立 migration 文件 1 首先要保证 目前的 migration 文件和数据库是同步的 通

如何重置migration

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

删除数据库所有的表

删除项目的migration模块中的所有 文件,除了init.py 文件

执行脚本

python manage.py makemigrations

python manage.py migrate

情景二:不想要删除现有的数据库,只是想重新建立 migration 文件

1、首先要保证,目前的migration文件和数据库是同步的,通过执行

python manage.py makemigrations

No changes detected

2、执行命令查看所有的migrations(mock和okr是app名)

python manage.py showmigrations

admin

[X] 0001_initial

[X] 0002_logentry_remove_auto_add

auth

[X] 0001_initial

[X] 0002_alter_permission_name_max_length

[X] 0003_alter_user_email_max_length

[X] 0004_alter_user_username_opts

[X] 0005_alter_user_last_login_null

[X] 0006_require_contenttypes_0002

[X] 0007_alter_validators_add_error_messages

[X] 0008_alter_user_username_max_length

[X] 0009_alter_user_last_name_max_length

contenttypes

[X] 0001_initial

[X] 0002_remove_content_type_name

mock

[X] 0001_initial

[X] 0002_remove_project_owner

[X] 0003_project_owner

okr

[X] 0001_initial

sessions

[X] 0001_initial

3、重置所有app的migration

# 执行多次,admin是可变参数.获取上个命令的app名

python manage.py migrate –fake-initial admin zero

Operations to perform:

Unapply all migrations: admin

Running migrations:

Rendering model states… DONE

Unapplying admin.0002_logentry_remove_auto_add… OK

Unapplying admin.0001_initial… OK

4、删除App中migrations文件夹下所有的文件(除__init__.py之外)之后执行

python manage.py makemigrations

python manage.py migrate –fake-initial

Operations to perform:

Apply all migrations: admin, auth, contenttypes, mock, okr, sessions

Running migrations:

Applying contenttypes.0001_initial… OK

Applying contenttypes.0002_remove_content_type_name… OK

Applying auth.0001_initial… OK

Applying auth.0002_alter_permission_name_max_length… OK

Applying auth.0003_alter_user_email_max_length… OK

Applying auth.0004_alter_user_username_opts… OK

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/210782.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午11:56
下一篇 2026年3月18日 下午11:56


相关推荐

  • 裸奔程序和uCOS读取DM9000 ID的方法

    裸奔程序和uCOS读取DM9000 ID的方法

    2021年8月6日
    63
  • 互联网100强公布_互联网排行榜

    互联网100强公布_互联网排行榜无意中翻看到一篇我在三年多前写的文章《我看中国互联网web2.0百强名单》,读来颇有感概。2005-2006那两年,正是WEB2.0概念轰轰烈烈的时候,大大小小的新网站层出不穷,博客、视频、交友、评点、社区、聚合……不管自己的网站的UGC比例多少,都宣传自己是WEB2.0,好像不贴上WEB2.0的标签,就不够潮流,不够IN,就吸引不了用户和风投。WEB2….

    2026年4月16日
    6
  • ziplist、quicklist、listpack源码设计解读

    从ziplist到quicklist,再到listpack的启发介绍Redis优化设计数据结构来提升内存利用率的时候,提到可以使用压缩列表(ziplist)来保存数据。所以现在你应该也知道,ziplist的最大特点,就是它被设计成一种内存紧凑型的数据结构,占用一块连续的内存空间,以达到节省内存的目的。但是,在计算机系统中,任何一个设计都是有利有弊的。对于ziplist来说,这个道理同样成立。虽然ziplist节省了内存开销,可它也存在两个设计代价:一是不能保存过多的元素,否则访问性能会

    2022年4月9日
    48
  • 隐马尔可夫模型实战

    隐马尔可夫模型实战

    2021年9月3日
    54
  • JS获取字符串真实长度(包含汉字)的方法

    JS获取字符串真实长度(包含汉字)的方法以下是代码展示 汉语字符串和英语字符串通过 js 函数 结合 if 判断和 for 循环来做谷歌开发者工具后台输出的结果补充知识点 ASCII 码由一个字节中的 7 位表示 范围共 128 个字符 而且 ASCII 码只能表示英文 数字和常用标点符号 编码在 1 127 之间 ASCII 码由一个字节中的 7 位表示 范围共 128 个字符 而且 ASCII 码只能表示英文 数字和常用标点符号 编码在 1

    2026年3月18日
    2
  • photoscan空三教程(无人机影像三维模型构建)

    PhotoScan无人机影像空三处理流程前言Photoscan是一款操作轻便,速度快的处理软件,以前一直被利用在处理实景三维或者近景建模,但是被用在测绘中,也是十分方便和精准。更重要的是photoscan可以轻松导出其他空三格式文件,后续很方便在Contextcapture进行重建,还可以在航天远景Mapmatrix或者CHCmapping中进行立体测图。本文重点介绍如何进行空三,并导出…

    2022年4月16日
    148

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号