首页 > 解决方案 > 部署搬运工时 docker-compose 错误

问题描述

我正在使用 Portainer 部署 django。

部署时,django 镜像日志中出现以下错误。

django.db.migrations.exceptions.InconsistentMigrationHistory:迁移 account.0001_initial 在其依赖 users.0001_initial 之前应用于数据库“默认”。

我删除了迁移文件并尝试再次迁移并部署,但发生了同样的错误。

也许我认为问题可能是由自定义用户模型引起的。

我应该怎么办?

标签: pythondjangodockerdjango-rest-frameworkdocker-compose

解决方案


首先,您不能像那样简单地删除迁移文件,因为迁移状态存储在您的数据库中,而不仅仅是在您的迁移文件中。

打开你的数据库并检查你的 django_migrations 表,你就会明白你的错误来自哪里。错误消息意味着 Django 发现迁移account.0001_initial存在于 django_migrations 表上users.0001_initial,但users.0001_initial没有account.0001_initial. 所以它不知道如何处理冲突。

如果您的数据不重要,只需删除您的数据库并创建一个新数据库即可。其次,您必须按照流程来逆转迁移,而不是在此处删除它https://docs.djangoproject.com/en/3.2/topics/migrations/#reversing-migrations

我建议您阅读整个https://docs.djangoproject.com/en/3.2/topics/migrations/


推荐阅读