Django开发过程中如果数据库变动过多导致迁移的文件越来越多,管理起来很不方便,幸运的是Django提供了一种方式可以是这些文件重置到0001状态,而且不删除原有数据。
<强>确认迁移文件跟数据库同步
强>
美元python3管理。py makemigrations
如果提示发现没有变化那么数据就是同步的。
<强>查看当前移民文件记录强>
美元python3管理。py showmigrations >之前管理 0001 _initial [X] 0002 _logentry_remove_auto_add [X] 0003 _logentry_add_action_flag_choices [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 [X] 0010 _alter_group_name_max_length [X] 0011 _update_proxy_permissions [X] contenttypes 0001 _initial [X] 0002 _remove_content_type_name [X] isite 0001 _initial [X] 0002 _article_pub_date [X] 会话 0001 _initial [X] >之前<强>重置文件强>
python3管理。py迁移——假mysite 0 # mysite是应用的名称删除迁移的处init.py的其他文件
<强>重新生产迁移文件强>
美元python3管理。py makemigrations<强>同步到数据库强>
python3管理。py迁移——fake-initial执行操作: 应用所有迁移:管理、身份验证、contenttypes isite,会话 迁移: 应用isite.0001_initial……伪造假是假冒伪装的意思。执行过程,但不应用数据。
这些就清爽多了。
不考虑数据库数据,可以完全清空数据库。
步骤:
删除所有迁移
找到。/* */迁移路径”。py __init__“——- name”。py”删除 找到。/* */迁移路径”。佩克”删除 >之前删除数据库
重新生成迁移
python管理。py makemigrations python管理。py迁移
有时候我们会直接导入完整的数据库,包括数据,这种情况下就不能简单的清空数据库。
这时我们的目的就是:清空数据库的移民历史,保证以后的迁移能正常使用,但要保留其他数据。
步骤:
从数据库中删除所有非0001 _initial的迁移历史
删除从django_migrations应用在(“你”、“应用”、“标签”)和名字!=' 0001 _initial ' >之前使用迁移命令回滚0001 _initial的迁移历史
python管理。py——假你零迁移 python管理。py——假应用零迁移 python管理。py迁移——假标签为零 >之前重新生成0001 _initial,如果能保证已有0001 _initial已是最新的,可跳过此步
找到。/* */迁移路径”。py __init__“——- name”。py”删除 找到。/* */迁移路径”。佩克”删除 python管理。py makemigrations >之前在数据库中生成新0001年的_initial记录
python迁移——fake-initial >之前以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
Django重置迁移文件的方法步骤