升级故障:
有同学在对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列,如图:

故障分析:
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系统可以配置多域名来绑定对应的期刊,但是有用户反应,在配置了多域名后,打开域名后网站报错,提示“400 Bad Request”这是怎么回事呢?经过丁老师研究,发现这是一个很简单的配置错误,在配置文件中,关于域名是有两个地方需要配...
经常有客户咨询丁老师关于OJS(Open Journal Systems期刊系统)的模板主题方案,包含OJS模板主题制作的相关规范、技术要求、步骤流程等,今天丁老师就OJS模板主题设计制作的要点做一下介绍。OJS模板主题制作规范OJS系...
丁老师上个月遇到一个需求,有一家西藏的出版社,发布的期刊语言是藏文,包含在Google学术及知网等学术平台,对接的也都需要是藏文。客户想问下OJS是否支持藏文,如何让OJS显示藏文呢?很遗憾的告诉你,OJS期刊管理系统是不支持藏文的,系...
有做期刊的客户咨询,在OJS系统中添加了十几个期刊,但首页没有显示,其他出版社的OJS都完整的显示了期刊,这是怎么回事呢?经过丁老师的分析和研究,期刊没有在首页显示,原因应该是没有在期刊设置中没有勾选显示期刊。设置期刊在首页显示的具体方...