liangliangyy / DjangoBlog

🍺基于Django的博客系统

Home Page:https://www.lylinux.net/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

旧数据库表搭配新版博客兼容性问题,"Unknown column 'blog_article.show_toc' in 'field list'"

holwell opened this issue · comments

我确定我已经查看了 (标注[ ][x])


我要申请 (标注[ ][x])

  • BUG 反馈
  • 添加新的特性或者功能
  • 请求技术支持

背景说明
1.大概1-2 年前搭建过 djangoblog ,期间一直没管了,那时候已经写了一些博客,数据库有保存若干文章。
2.昨天想着折腾下再用 docker 部署了一下博客,并恢复旧数据库。
3.恢复数据库之前,都能正常运行看到主页,但是一旦恢复数据库之后然后就出问题了,缺少一个字段 blog_article.show_toc
4.为此我还升级了 MySQL8,感觉我这应该是小众案例,解决比较麻烦的话,我就自己试试从数据库导出文章备份。


访问主页出BUG的调试内容

Request Method: | GET
-- | --
http://1.15.48./
4.2.1
OperationalError
(1054, "Unknown column 'blog_article.show_toc' in 'field list'")
/usr/local/lib/python3.11/site-packages/MySQLdb/connections.py, line 254, in query
blog.views.IndexView
/usr/local/bin/python
3.11.3
['/usr/local/bin',  '/code/djangoblog',  '/usr/local/lib/python311.zip',  '/usr/local/lib/python3.11',  '/usr/local/lib/python3.11/lib-dynload',  '/usr/local/lib/python3.11/site-packages']
Tue, 06 Jun 2023 10:32:16 +0800

对比新的数据库表设计,结合输出的日志,目前通过在 blog_article 表中添加 show_toc 字段,类型 tinyint(1) ,以及在 blog_category 表中添加 index 字段,类型 int,使项目初步成功运行了。
但是由于还有其他字段的添加以及外键的关联,例如 blog_blogsettings.site_name 等等新添加的字段,不打算操作数据库了,反正就25篇文档,直接导出手动复制到新版博客比较实际!感谢作者的开源博客!