数据库字段数不一致的问题


#1

前段时间部署的seafile出现了问题,所以我重新部署了,使用的是Nginx+SQLite,然后我将老版本的seafile数据库备份后将老版本删除了,我将数据库和文件导入了新部署的项目内尝试启动的时候,出现了这个问题:

[root@** seafile-server-latest]# ./seafile.sh start

[08/09/19 11:59:54] ../common/session.c(132): using config file /opt/seafile/seafile_sqlite_installed/conf/ccnet.conf
[08/09/19 11:59:54] ../common/ccnet-db.c(142): Error exec query CREATE UNIQUE INDEX IF NOT EXISTS reference_id_index on EmailUser (reference_id): sqlite3_exec failed: table EmailUser has no column named reference_id.
[08/09/19 11:59:54] user-mgr.c(769): Failed to create user db tables.
failed to run "ccnet-server -t"

我检查了一下数据库,老的seafile.db内EmailUser表的字段是以下这样:

id|email|passwd|is_staff|is_active|ctime

而新的表的字段是以下这样的:

id|email|passwd|is_staff|is_active|ctime|reference_id

多出了一个reference_id的字段
请问reference_id是直接在表后新加一个字段就可以了吗?如果是请问这个字段又是什么类型?如果不是请问要怎么修改?


#2

你可以在这里查到最新版本的数据库创建语句 https://github.com/haiwen/seahub/tree/master/sql

然后把相应的语句在本地执行即可


#3

我尝试过了,新增字段后如果尝试登录会直接报错,我觉得应该是某些数据库还是有不一致的问题,因此我放弃了,选择了手动新增用户。文件系统没有加密算是一件好事,我手动重新分配存储库的所属了。