KV 到 D1 迁移
仅适用于旧版部署
本页仅适用于旧版本中使用 KV 存储链接的现有 Sink 实例。新部署不要使用此流程。
开始前
- 在 Cloudflare 中保留原 KV 命名空间及其中的数据。
- 确认升级后的部署将原 KV 命名空间绑定为
KV,并将 D1 数据库绑定为DB。 - 在迁移和验证完成前,避免修改链接。
迁移链接
- 使用 Cloudflare 提供的工具保留或导出原始 KV 数据。
- 升级 Sink 并部署更新后的
master分支。部署会自动准备 D1。 - 登录并打开 Dashboard → Links。这会自动启动或继续迁移。
- 打开 Dashboard → Migrate → D1 查看状态和进度。
- 迁移完成后,验证多个链接及其重定向,再恢复正常修改。
D1 面板用于显示迁移状态并提供恢复操作,不是正常迁移的启动按钮;打开 Links 才会启动或继续标准流程。
记录处理
迁移过程中,Sink 会:
- 跳过已过期的链接;
- 不覆盖 D1 中已存在的链接;
- 不恢复已记录为删除的链接;
- 某条记录失败时,保留此前已成功迁移的链接。
从失败中恢复
迁移可以安全重试。修复或删除原始 KV 数据中报告的无效记录,然后返回 Dashboard → Links 重试。D1 中已有的链接不会被覆盖。
在 Dashboard → Migrate → D1 中查看结果。其中的强制重新扫描操作仅用于正常迁移运行后的受控恢复或验证。强制重新扫描同样不会覆盖 D1 中已有或已删除的链接。