django.db.utils.ProgrammingError: (1146, “Table ‘xxx’ doesn’t exist”) 解决方法

今天药忘吃喽~ 2022-12-28 06:15 326阅读 0赞

一、问题复现

运行 Django 项目的时候报错:django.db.utils.ProgrammingError: (1146, “Table ‘tmsdata.sysMgr_syslog’ doesn’t exist”)。

翻译一下就是表不存在的意思,其实就是数据库迁移出了问题,需要重新迁移一下。

二、解决方法

先找到报错数据表对应的 migrations 文件夹,保留 __pycache____init__.py 文件,其他的都删掉。

cfd3bb758f19aa4cfda2e230d9324b09.png

然后其他 migrations 文件夹,进行上述一样的操作。(把之前进行数据库迁移生成的文件记录全给删掉)

再去数据库里面,把报错对应的记录也删除,如下图:

26ba07a7c0925a9941965dab95cc0fc0.png

最后,进行数据库迁移操作。我是用的 Pycharm 自带的这个:

e149bf34461ed3819b726308ec7ba10c.png

然后先执行下面这行命令:

  1. makemigrations

df50b3dadb6d16c8e166e918809a2455.png

再执行下面这行命令:

  1. migrate

815efab0911bbaae22d850e75d61a998.png

此时就表示数据库迁移成功,再运行项目,发现成功运行:

57204c5cda9d069b15ca634f470cdac9.png

三、参考

django.db.utils.ProgrammingError: 1146 解决办法

发表评论

表情:
评论列表 (有 0 条评论,326人围观)

还没有评论,来说两句吧...

相关阅读