2.0版本升级详细操作步骤

这是官方写的升级帮助:Seafile Server
请注意,此次2.0更新需要升级到数据库为2.0版本,操作如下
不需要备份数据
运行以下命令获得SeaTable的最新版本.
可以先进入cd /opt/seatable //执行

docker pull  seatable/seatable:latest

停止当前运行的SeaTable容器.

docker-compose down

然后修改docker-compose.yml中的标签『这里你不用动直接下一句命令』,并重新启动一个新的SeaTable容器.

docker-compose up -d   //这句一定要启动,然后进入下一步升级数据库

数据库升级帮助
docker exec -it seatable /bin/bash

//seatable.sh upgrade-sql 1.9 官方已经没有1.9版本了,直接执行2.0版本

seatable.sh upgrade-sql 2.0

如果提示:
[Warning] Using a password on the command line interface can be insecure.
忽略即可,升级完毕

最后启动服务器

启动 SeaTable 服务器

/shared/seatable/scripts/seatable.sh start
完毕!!

image

升级2.0之后,有个表格直接打不开了,显示行数超过限制

升级2.0,运行seatable.sh upgrade-sql 2.0出错

原因是我用的mysql 8,不支持ADD INDEX IF NOT EXISTS 语法

/opt/seatable/seatable-server-latest/sql/mysql/upgrade/2.0/dtable.sql中28行运行出错
ALTER TABLE operation_log ADD INDEX IF NOT EXISTS idx_operation_log_dtable_uuid_op_id (dtable_uuid,op_id);

提示:
ERROR 1064 (42000) at line 28: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘IF NOT EXISTS idx_operation_log_dtable_uuid_op_id (dtable_uuid,op_id)’ at line 1

简单处理可以改为

ALTER TABLE operation_log ADD INDEX idx_operation_log_dtable_uuid_op_id (dtable_uuid,op_id);

你这个表格多少行啊

多张子表加起来一共28万多行

你这个 28 万行,官方是这么说的:系统使用时的一些限制 - SeaTable-user-manual