Nextcloud 17升级到18的InvalidFieldNameException错误解决方案
以前升级都粗暴使用人工覆盖安装的。原因是每次在后台点击升级,都在在下载时中断。这次从17.02升级到18.04,意外地在后台下载成功,但遇到以下错误:
An exception occurred while executing 'UPDATE `oc_flow_operations` SET `ent
ity` = ? WHERE `entity` = ''' with params ["OCA\\WorkflowEngine\\Entity\\Fi
le"]:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'entity' in 'where c
lause'
在国内使用Nextcloud的还是不多,只能求助Google,在官方github上找到的答案。
原因就是在oc_flow_operations 表内少一个 entity 字段。升级此字段可以使用phpmyadmin下进行,更快的可以直接在SSH下进行,命令如下:
//进入 ssh
ssh <IP-Adress> -l root
//登陆数据库
mysql -uroot -p (use PW of user root)
//打开数据表:
connect nextcloud
//检查表格oc_flow_operations, 确认字段entity是否存在
describe oc_flow_operations;
//如果不存在,使用以下命令增加entity字段
alter table oc_flow_operations add entity varchar(256) default NULL;
增加完成后,就可以返回原来继续升级。
sudo -u www php /home/wwwroot/default/occ
sudo -u www php /home/wwwroot/default/occ maintenance:mode --off
0
Say Something!