使用 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 操作
本文分享自 pythonista的日常 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!