1 问题描述

今天数据库迁移时

python manage.py migrate

报错django.db.utils.OperationalError: (1050, “Table ‘xxx’ already exists”)
在这里插入图片描述
说明那些已经存在的数据表不能再迁移了, 但是由于这个异常导致其它的数据表不能迁移, 怎么解决呢?

2 解决方案

把这个表单独迁移

python manage.py migrate goods --fake

然后再迁移所有的表

python manage.py migrate

在这里插入图片描述
原因剖析

由于手动删除数据库表等操作,导致migration与实际table不一致,–fake 不会执行sql操作,只是对migration做标记,生成django_migrations表的内容。 使migration与table重新一致

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐