清理重置app下migration文件
- 清空数据库相关数据
#删除app下model对应的数据库相关表
#删除app-migrations下除__init__.py的其他文件
#执行脚本
python manage.py makemigrations
python manage.py migrate
- 保留数据库相关数据
#保证migration文件和数据库是同步的
python manage.py makemigrations
#提示No changes detected,则进行下一步
#查看当前项目,所有的app及对应的已经生效的migration文件,[x]表示migration通过,[]表示未通过
python manage.py showmigrations
#清除迁移历史记录
python manage.py migrate --fake your_app_name zero
python manage.py showmigrations
#此时文件前的 [x] 变成了[ ]
#删除app-migrations下除__init__.py的其他文件!
#执行makemigrations,程序会再次为这个app 生成 0001_initial.py 文件
python manage.py makemigrations
#--fake-initial 会在数据库中的 migrations表中记录当前这个app 执行到 0001_initial.py ,但是它不会真的执行该文件中的代码
python manage.py migrate --fake-initial
转自:https://simpleisbetterthancomplex.com/tutorial/2016/07/26/how-to-reset-migrations.html