Cloudreve迁移:V2-->V4

https://github.com/cloudreve/Cloudreve

 

 

 

cloudreve 是一款开源的网盘软件,我部署的版本比较老是V2版本,目前官方只有v3--》v4,怎么办:

环境:linux

cloudreve 使用sqlite作为数据库

1 首先下载v4新版本

2 直接运行./cloudreve

    1) 虽然官方说使用  ./cloudreve  migrate --v3-conf conf.ini -c data/conf.ini  命令可以直接将v3 转换为 v4,可是会报错:

[Error] 2025-06-12 20:40:33 [/home/vsts/work/1/s/cmd/migrate.go:62] Failed to migrate: failed to create setting hash_id_salt: SQL logic error: no such table: settings (1)

    2)直接运行之后会产生 cloudreve.db 这个库文件,使用dbeaver连接进去,清理settings groups 等等表,否则会报约束错误:

[Error] 2025-06-12 21:33:13 [/home/vsts/work/1/s/cmd/migrate.go:62] Failed to migrate: failed to create setting hash_id_salt: ent: constraint failed: constraint failed: UNIQUE constraint failed: settings.name (2067)

3 在老库创建表,由于migrate并适用v2 版本,所以有些表迁移的时候会报失败:

[Error] 2025-06-12 21:35:03 [/home/vsts/work/1/s/cmd/migrate.go:62] Failed to migrate: failed to list v3 nodes: SQL logic error: no such table: nodes (1)

4 创建表

```

CREATE TABLE `source_links` (
`id` integer NOT NULL PRIMARY KEY AUTOINCREMENT,
`created_at` datetime,
`updated_at` datetime,
`deleted_at` datetime,
`node_id` integer,
`owner_id` integer
);

 

CREATE TABLE `nodes` (
`id` integer NOT NULL PRIMARY KEY AUTOINCREMENT,
`created_at` datetime,
`updated_at` datetime,
`deleted_at` datetime,
`name` varchar(255),
`source_name` varchar(255),
`parent_id` integer,
`size` bigint,
`type` varchar(255),
`policy_id` integer,
`owner_id` integer
);

```

5 运行迁移命令

# ./cloudreve migrate --v3-conf conf.ini -c data/conf.ini
[Info] 2025-06-12 21:38:45 [/home/vsts/work/1/s/application/dependency/dependency.go:267] Logger initialized with LogLevel="info".
[Info] 2025-06-12 21:38:45 [/home/vsts/work/1/s/cmd/migrate.go:35] Migrating from v3 to v4...

.................

[Info] 2025-06-12 21:38:45 [/home/vsts/work/1/s/application/migrator/migrator.go:307] Migration completed successfully
[Info] 2025-06-12 21:38:45 [/home/vsts/work/1/s/cmd/migrate.go:67] Migration from v3 to v4 completed successfully.

 

成功!

 

 

posted @ 2025-06-12 22:26  richardzgt  阅读(123)  评论(0)    收藏  举报