升级故障:
有同学在对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期刊系统(Open Journal Systems),因为旗下期刊是属于双核心类,内容质量较高,在业界也比较权威,投稿及审稿对专业度要求较高,除了现有的专家评审外,想引入AI功能,把AI集成进OJS系统,...
OJS(Open Journal Systems)期刊管理系统,是目前主流期刊学术系统,自带期刊管理、论文投稿、专家评审、出版发行、数据库收录等多种学术功能。OJS以强大的功能和稳定的性能,广泛应用在学术出版行业。OJS系统基本的学术工...
近日有使用OJS期刊系统的客户和丁老师反馈,OJS3.3.X版本无法升级到3.5,升级到一半总是报错,是怎么回事呢?错误代码:A database error has occurred: SQLSTATE[42S22]: Column ...
有同学咨询丁老师,在使用OJS期刊系统(Open Journal Systems)时,有些发布错的文章,或者是不想要的文章需要删除,可是在OJS的文章管理中,没有删除按钮,文章无法删除,这该怎么办呢?今天丁老师教大家OJS期刊系统删除文...