博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何重置migration
阅读量:6509 次
发布时间:2019-06-24

本文共 1925 字,大约阅读时间需要 6 分钟。

hot3.png

如何重置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_addauth [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_lengthcontenttypes [X] 0001_initial [X] 0002_remove_content_type_namemock [X] 0001_initial [X] 0002_remove_project_owner [X] 0003_project_ownerokr [X] 0001_initialsessions [X] 0001_initial
3、重置所有app的migration
# 执行多次,admin是可变参数.获取上个命令的app名python manage.py migrate --fake-initial admin zeroOperations to perform:  Unapply all migrations: adminRunning 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 makemigrationspython manage.py migrate --fake-initialOperations to perform:  Apply all migrations: admin, auth, contenttypes, mock, okr, sessionsRunning 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://my.oschina.net/u/2474096/blog/1982215

你可能感兴趣的文章
Java 使用 Redis
查看>>
JPA常用注解
查看>>
HTML5:理解head
查看>>
oracle
查看>>
java SpringUtil获取bean
查看>>
赛门铁克开启“容灾即服务”时代
查看>>
复杂度归纳--小结
查看>>
PHP学习笔记 第八讲 Mysql.简介和创建新的数据库
查看>>
js获取鼠标位置
查看>>
Mysql
查看>>
跨越企业的“中等收入陷阱”
查看>>
Android 开发者必知的开发资源
查看>>
软件工程技术基础-(软件复用技术)
查看>>
luogu P1280 尼克的任务 序列DP
查看>>
sys.check_constraints
查看>>
vue问题
查看>>
php 引入其他文件中的变量
查看>>
mysql的基本知识
查看>>
webpack入门(二)what is webpack
查看>>
学习C语言必须知道的理论知识(第一章)
查看>>