OJS3.4升级3.5失败-Unknown column context in notification_subscription_settings的解决方法

所属专题:OJS期刊管理系统 来源: 丁老师原创 更新时间:2026-03-20 10:07 浏览: 337 IP属地: 深圳
OJS期刊管理系统专业软件服务商

升级故障:
有同学在对OJS期刊管理系统(Open Journal Systems)进行版本升级时,出现升级故障,提示"Unknown column context in notification_subscription_settings",升级失败,具体错误代码为:

A database error has occurred: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'context' in 'notification_subscription_settings' (Connection: mysql, SQL: alter table `notification_subscription_settings` modify `context` bigint null)

故障情况:
当前OJS版本:3.4.0.5
升级OJS版本:3.5.0.3
具体故障:在升级过程中未升级成功,页面提示在数据库notification_subscription_settings表中找不到context列,如图:

f10ffae6cad24d963372b3b45a5f253e90d01c42.jpg

故障分析:
1.要升级的OJS版本,升级程序因代码并未进行容错处理,升级系统不完善,在遇到某些特定版本和系统时出现报错。
2.升级程序的sql数据库脚本,可能因权限、系统等问题未能充分执行。
3.最终的问题是在notification_subscription_settings表中,有context_id列,却提示没有context列。

故障解决:
1.可以手动将notification_subscription_settings表的context_id列名,改为context。
2.如果怕会引起关联错误,可以新建一个context列(bigint 20),然后执行:

#复制context_id的数据
update notification_subscription_settings set context=context_id

全文总结:
OJS期刊管理系统因为每个版本在更新时,程序代码和数据库都进行了大量的功能迭代,并且对系统框架进行了重构,这也就引起了OJS系统在更新时,经常会遇到各种各样的错误和bug。特别是系统在安装大量插件后,插件会关联期刊主页、文章、作者等模块,在升级时有一个插件如果版本不兼容就会导致整个升级的失败。

在对OJS升级时,丁老师有3点建议:
1.升级前对网站和数据库进行完整的备份。
2.升级前停用所有OJS系统的插件和theme主题。
3.建议找专业的技术人员,最好是有OJS开发经验的工程师进行升级。这个工作普通人无法完成,非专业技术人员可能会造成整个OJS系统崩溃和数据丢失的风险。

丁老师从事学术软件研发十余年,可提供OJS系统的安装、维护、升级、Bug修复、二次开发等服务。
如需专业OJS系统技术服务,可以联系丁老师,同时也欢迎学术界的各位作者、学者、同行,针对学术软件信息化进行交流和咨询。

ojs相关文章

OJS发送的邮件被拒收是怎么回事?

有使用OJS期刊投稿管理系统的小伙伴提问,最近在给评审发送邮件通知时,经常会遇到邮件据收被退回的情况,这是怎么回事呢?如图:遇到这种情况,需要先测试OJS的发信功能是否正常,具体可以通过:1.忘记密码,找回密码,发送重置密码邮件方式。2...

Open Journal Systems(O...

最近有新创期刊的出版社,准备使用Open Journal Systesm(OJS)开放式期刊管理系统,来作为期刊管理和论文发布管理平台,但是在安装时却怎么也安装不成功,一直提示502 bad gateway错误,这是怎么回事呢?丁老师来...

网站如何调用Open Journal Sys...

最近有做期刊运营的客户咨询,他们的出版社网站做的比较早,后来安装搭建了《OJS期刊管理系统》,期刊系统的期刊信息、文章信息、作者信息等数据,无法和官方网站对接,所有信息还需要再在官方网站重新人工录入一遍,操作极为麻烦,有没有办法,能让网...

OJS插件管理Plugin页面一直加载打不开...

很多使用OJS的同学反馈,有时候突然OJS期刊管理系统的plugin页面打不开了,一直是个圆圈在转圈加载,却始终打不开页面,这是怎么回事呢?如图:其实,这是OJS出错了,原因是可能使用者开启或安装了某些与当前OJS版本不兼容的插件,OJ...

当前在线
免费咨询