从飞牛版迁移个人数据
此工具导入媒体库、收藏、观看历史、播放偏好、资料匹配和海报。当前工具只迁移业务数据,不迁移授权和付款订单。 两个版本统一使用短剧套餐与收款;授权备份和跨版本切换功能后续提供。请保留原飞牛数据与原授权,不要手工复制授权数据库。
准备
- 首先启动 Docker,完成管理员首次改密,并创建接收记录的普通用户。
- 不要提前添加媒体库或产生观看记录。已有目标业务数据时工具拒绝覆盖。
- 停止飞牛服务,把完整应用数据复制到独立的导入目录;也停止 Docker 服务。不要在运行中的数据库上做文件复制。
- 将短剧目录只读挂载为
/media,导入目录只读挂载为/import。
先使用只读检查查看旧 UID 和需要映射的路径:
sh
docker compose run --rm -v /你的导入副本:/import:ro drama migrate-fpk --source /import --dry-run映射与执行
创建 mapping.json 放在导入目录,左边是旧 UID/旧 NAS 绝对路径,右边是已创建的 Docker 登录用户名/容器目录:
json
{
"users": {"旧用户UID": "alice"},
"paths": {"/原NAS/短剧目录": "/media/短剧目录"}
}每个有个人记录的旧 UID 必须一对一映射,不能自动合并多个用户。映射到管理员只表示将个人记录分配给该账号,不继承源系统角色。
sh
docker compose run --rm -v /你的导入副本:/import:ro drama migrate-fpk --source /import --mapping /import/mapping.json --dry-run
docker compose run --rm -v /你的导入副本:/import:ro drama migrate-fpk --source /import --mapping /import/mapping.json
docker compose up -d检查用户收藏、历史、倍速、媒体库数量和海报。再次扫描后,剧集 ID 仍应保持对应。缺失媒体、目录重叠、映射不全或越界时,正式导入会拒绝执行。
报告与中断恢复
结果保存在 /data/migration-report.json,迁移前目标副本保存在报告列出的 .migration-* 目录。工具禁止重复导入;不需要手工复制授权数据库。
发生中断且日志要求恢复时,保持 Docker 停止,执行:
sh
docker compose run --rm drama migrate-fpk --rollback
docker compose up -d回退恢复迁移前的目标业务数据,不改变 Docker 账号、授权或源飞牛数据。完成迁移并产生新数据后,请使用正常备份恢复流程,不手工制造中断标记来回退。