跳到主要内容

KV 到 D1 迁移

仅适用于旧版部署

本页仅适用于旧版本中使用 KV 存储链接的现有 Sink 实例。新部署不要使用此流程。

开始前

  • 在 Cloudflare 中保留原 KV 命名空间及其中的数据。
  • 确认升级后的部署将原 KV 命名空间绑定为 KV,并将 D1 数据库绑定为 DB
  • 在迁移和验证完成前,避免修改链接。

迁移链接

  1. 使用 Cloudflare 提供的工具保留或导出原始 KV 数据。
  2. 升级 Sink 并部署更新后的 master 分支。部署会自动准备 D1。
  3. 登录并打开 Dashboard → Links。这会自动启动或继续迁移。
  4. 打开 Dashboard → Migrate → D1 查看状态和进度。
  5. 迁移完成后,验证多个链接及其重定向,再恢复正常修改。

D1 面板用于显示迁移状态并提供恢复操作,不是正常迁移的启动按钮;打开 Links 才会启动或继续标准流程。

记录处理

迁移过程中,Sink 会:

  • 跳过已过期的链接;
  • 不覆盖 D1 中已存在的链接;
  • 不恢复已记录为删除的链接;
  • 某条记录失败时,保留此前已成功迁移的链接。

从失败中恢复

迁移可以安全重试。修复或删除原始 KV 数据中报告的无效记录,然后返回 Dashboard → Links 重试。D1 中已有的链接不会被覆盖。

Dashboard → Migrate → D1 中查看结果。其中的强制重新扫描操作仅用于正常迁移运行后的受控恢复或验证。强制重新扫描同样不会覆盖 D1 中已有或已删除的链接。