情景一:不需要原有的数据库数据
- 删除数据库所有的表
- 删除项目的migration模块中的所有 文件,除了__init__.py 文件
- 执行脚本
python manage.py makemigrations python manage.py migrate
情景2:不想要删除现有的数据库,只是想重新建立 migration 文件
首先要保证,目前的migration文件和数据库是同步的,通过执行
python manage.py makemigrations
如果看到 这样的提示: No changes detected,则可以继续接下来的步骤
通过执行
python manage.py showmigrations
结果,可以看到当前项目,所有的app及对应的已经生效的migration文件如
git_hook [X] 0001_initial guardian [X] 0001_initial kombu_transport_django [X] 0001_initial message (no migrations) order [X] 0001_initial pay [X] 0001_initial [x] 0002_add_model sessions [X] 0001_initial
通过执行
$ python manage.py migrate --fake pay zero
这里的 pay就是你要重置的app
之后再执行 python manage.py showmigrations,你会发现 文件前的 [x] 变成了[ ]
现在,你可以删除pay 这个 app下的migrations模块中 除 init.py 之外的所有文件。
之后,执行
$ python manage.py makemigrations
程序会再次为这个app 生成 0001_initial.py 之类的文件
最重要的一步来了, 执行
python manage.py migrate --fake-inital
–fake-inital 会在数据库中的 migrations表中记录当前这个app 执行到 0001_initial.py ,但是它不会真的执行该文件中的 代码。
这样就做到了,既不对现有的数据库改动,而又可以重置 migraion 文件,妈妈再也不用在 migration模块中看到一推文件了。
参考https://simpleisbetterthancomplex.com/tutorial/2016/07/26/how-to-reset-migrations.html
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。