django migration笔记

清理重置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

猜你喜欢

转载自blog.csdn.net/weixin_33127753/article/details/81778952