OJS3.3.x升级到OJS 3.5.x失败的解决方法

所属专题:OJS期刊管理系统 来源: 丁老师原创 更新时间:2025-07-05 08:43 IP属地: 深圳
OJS升级服务
点击阅读全文

最近有一个同学,他们出版社使用的是3.3.0.13版本的OJS系统,最近自己在升级到3.5时,出现了错误,并且之前的数据全部丢失了,人都快吓哭了,联系丁老师进行了紧急修复。那么,是什么原因导致了OJS升级失败,如果遇到这种情况,又该怎么解决呢?

错误代码:

2025-04-03 00:21:24 [migration: APP\migration\upgrade\v3_4_0\I6782_MetricsGeo]
2025-04-04 11:14:43 [revert migration: APP\migration\upgrade\v3_4_0\I6782_MetricsSubmission]
2025-04-04 11:14:43 [downgrade for "APP\migration\upgrade\v3_4_0\I6782_MetricsSubmission" unsupported: Downgrade not supported]
ERROR: Upgrade failed: DB: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'usage_events_20151017.log-2-331-MX---2015-10-17' for key 'mesubmission_c_r_c_date' (SQL: insert into `metrics_submission_geo_daily` (`load_id`, `context_id`, `submission_id`, `country`, `region`, `city`, `date`, `metri_id, m.submission_id, COALESCE(m.country_id, ''), COALESCE(m.region, ''), COALESCE(m.city, ''), DATE_FORMAT(STR_TO_DATE(m.day, '%Y%m%d'), '%Y-%m-%d') as mday,`.`assoc_type` in (1048585, 515, 531) and `m`.`metric_type` = ojs::counter and (`m`.`country_id` is not null or `m`.`region` is not null or `m`.`city` is not sion_id, m.country_id, m.region, m.city, mday)

升级失败原因分析

首先,对于OJS投稿系统来说,每一次版本的升级的变化都比较大,特别是3.4.x版本,相对于3.3.x,改动更是相当的大。无论是程序的架构、模板、数据库,还是各种语言文件、方法、类,几乎是进行了整个重构。一些3.3.x的插件在3.4.x版本上根本不能用。这就要求,在进行升级时,系统尽可能地保持数据纯净。对于升级遇到的错误,丁老师整理了以下几个点可以进行自查:

1.升级前版本使用插件较多。OJS系统的插件并不是全版本兼容的,所使用的插件,必须支持当前的主系统版本,不然就会出错导致主系统出现故障。
2.升级前系统进行过修改或二次开发。如果是对程序进行了修改,那么是极有可能影响系统的正常升级的。
3.升级前系统数据进行过人为修改。OJS的数据库每一条核心数据都有外键关联,如果人为修改了数据,会造成系统核心数据无法匹配关联,也会导致升级失败。
4.升级前系统安装配置错误。OJS系统需要聘请专业的技术人员,使用正规的流程进行安装,并且对运行环境进行规范标准的程序化配置。有的时候OJS能运行,但其实并不一定安装全部正确,也有可能部分参数配置错误,导致出现故障隐患。

升级失败的解决方法
1.停用、删除不必要的插件。使用OJS有一个原则,那就是插件越少越好,因为插件和主程序的兼容性问题,插件越多,故障越多,隐患越多。
2.升级前切记一定备份程序、备份数据库。
3.如果进行过二次开发,恢复。
4.和官网的运行环境、安装步骤进行逐一核对,确保在运行版本的系统安装配置正确。
5.仔细研究和阅读升级文档,逐一核对。
6.找专业的技术人员进行安装升级,不是懂点网站技术就能搞定的,丁老师经常会收到同行发出的协助申请。
7.联系丁老师协助升级,丁老师从事学术界软件研发多年,精通OJS各种程序开发和故障处理,提供各版本的OJS系统升级服务。

ojs相关文章

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

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

OJS如何查看文章浏览统计?

近期有同学在问,OJS中已发表的文章,可以查看文章的浏览、访问量统计吗?如何查看呢?今天丁老师对这个问题进行解答。首先,OJS中是有统计功能的,支持对文章、期次、期刊的数据进行访问量进行统计,功能在左侧导航菜单Statistics模块下...

OJS增加的期刊设置在首页显示的方法

有做期刊的客户咨询,在OJS系统中添加了十几个期刊,但首页没有显示,其他出版社的OJS都完整的显示了期刊,这是怎么回事呢?经过丁老师的分析和研究,期刊没有在首页显示,原因应该是没有在期刊设置中没有勾选显示期刊。设置期刊在首页显示的具体方...

OJS可以在线支付吗?支持哪种支付方式?

经常有小伙伴提问,OJS支持在线支付吗?如果我们想实现作者投稿时付费,是否可以实现这个功能呢?丁老师为你解答。关于OJS的在线支付功能,答案是肯定的。OJS期刊投稿系统支持在线支付,该软件提供了管理订阅和作者费在线支付的功能,如图:目前...