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 操作