django 的 migrations 文件重置管理
Posted kcxg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django 的 migrations 文件重置管理相关的知识,希望对你有一定的参考价值。
使用 django 开发项目时,如果你使用 model 模型管理你的数据库表,对 migrations 文件会很熟悉,每次 model 模型有新的变更都会执行 python manage.py makemigrations 这个命令, 生成一些操作数据表的 migrations 脚本文件,但是随着项目的迭代,数据表肯定改动越来越多,你的 migrations 文件也会越来越多.
如果你直接删除这些文件,下次执行 makemigrations 命令时就会报错,因为多个 migrations 文件是有关联的。
但是 django 提供了管理 migrations 文件的解决办法,
1.通过执行
python manage.py migrate –fake <app名称> zero
即可重置对应 app 下面 migrations 文件,即自动清除该 app 下面 migrations 文件执行记录
2.删除对应 app 下面的 migrations 文件
3.执行
python manage.py makemigrations
重新生成 migrations 文件
4.然后执行
python manage.py migrate <app> –fake
重新在数据库中 migrations 表记录 migrate 执行记录,但并不会执行 migrations 文件中的代码。
这样就做到了,既不对现有的数据库改动,而又可以重置 migraion 文件,妈妈再也不用在 migration 文件夹中看到一推文件了。
注:
python manage.py migrate –fake-inital
这个命令是对所有 app 操作
以上是关于django 的 migrations 文件重置管理的主要内容,如果未能解决你的问题,请参考以下文章
[Django][Python]Django重置Migration