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


一、問題復現

運行 Django 項目的時候報錯:django.db.utils.ProgrammingError: (1146, "Table 'tmsdata.sysMgr_syslog' doesn't exist")。

翻譯一下就是表不存在的意思,其實就是數據庫遷移出了問題,需要重新遷移一下。

二、解決方法

先找到報錯數據表對應的 migrations 文件夾,保留 __pycache____init__.py 文件,其他的都刪掉。

然后其他 migrations 文件夾,進行上述一樣的操作。(把之前進行數據庫遷移生成的文件記錄全給刪掉)

再去數據庫里面,把報錯對應的記錄也刪除,如下圖:

最后,進行數據庫遷移操作。我是用的 Pycharm 自帶的這個:

然后先執行下面這行命令:

makemigrations

再執行下面這行命令:

migrate

此時就表示數據庫遷移成功,再運行項目,發現成功運行:

三、參考

django.db.utils.ProgrammingError: 1146 解決辦法


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM