近日有使用OJS期刊系统的客户和丁老师反馈,OJS3.3.X版本无法升级到3.5,升级到一半总是报错,是怎么回事呢?
错误代码:
A database error has occurred: SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘s.assoc_type’ in ‘on clause’ (SQL: DELETE s FROM user_settings s – Locates all duplicated settings (same key fields, except the assoc_type/assoc_id) INNER JOIN user_settings duplicated ON s.setting_name = duplicated.setting_name AND s.user_id = duplicated.user_id AND s.locale = duplicated.locale AND ( COALESCE(s.assoc_type, -999999) <> COALESCE(duplicated.assoc_type, -999999) OR COALESCE(s.assoc_id, -999999) <> COALESCE(duplicated.assoc_id, -999999) ) – Attempts to find a better fitting record among the duplicates (preference is given to the smaller assoc_id/assoc_type values) LEFT JOIN user_settings best ON best.setting_name = duplicated.setting_name AND best.user_id = duplicated.user_id AND best.locale = duplicated.locale AND ( COALESCE(best.assoc_id, 999999) < COALESCE(duplicated.assoc_id, 999999) OR ( COALESCE(best.assoc_id, 999999) = COALESCE(duplicated.assoc_id, 999999) AND COALESCE(best.assoc_type, 999999) < COALESCE(duplicated.assoc_type, 999999) ) ) – Ensures a better record was found (if not found, it means the current duplicated record is the best and shouldn’t be removed) WHERE best.user_id IS NOT NULL)
丁老师看到后,按照他的方法亲自试了下,确实是出错,提示最高升级到3.3.19就无法继续升级了。丁老师经过不断的研究,以及和pkp官方开发团队沟通得知,在OJS3.3.X版本中,启用了某些插件后,会产生一些数据,然后可能会导致升级失败,因为OJS3.5.X并没有包含对这些第三方插件数据的容错处理,在遇到这些数据时可能会卡死。
然后根据此问题,丁老师和官方开发团队沟通,开发出了自己的升级流程,最后给这位出版社客户完美的升级,所有数据都得到了无损保留。
遇到此问题的同学,或是需要对OJS升级的客户,可以点击链接购买升级服务《OJS期刊系统升级服务》。
有做期刊的客户咨询,在OJS系统中添加了十几个期刊,但首页没有显示,其他出版社的OJS都完整的显示了期刊,这是怎么回事呢?经过丁老师的分析和研究,期刊没有在首页显示,原因应该是没有在期刊设置中没有勾选显示期刊。设置期刊在首页显示的具体方...
OJS期刊投稿系统中,有一些未完成或已提交的投稿因为种种原因需要删除,但是在submission的管理中,并没有删除按钮,那么怎么才能删除文章呢?一、单独的投稿文章删除,具体方法为:1.对于已发布的文章,先下架(unpublish);2...
ojs期刊系统,配置email邮箱发信功能的方法:1.打开根目录下的config.ini.php文件。2.找到"SMTPserversettings",按照如下设置。; Available options: send...
OJS期刊管理系统,可以对已发布的投稿文章,增加多种格式的引用信息导出功能,包含ACM、ACS、Chicago、Havard、IEEE等引用格式,支持Endnote/Zotero/Mendeley(RIS)和BibTeX两种文件格式。如...