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

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐