数据权威模型要先于同步与迁移确定

**多端产品在写同步协议、迁移方案之前,必须先定「谁是数据权威」(source of truth);这块不定,后面的同步、迁移、冲突、离线都会乱。** 这是完整方案里最容易缺、也最关键的一环。

必须回答的四个问题

  • 2.0 之后云端 PostgreSQL 是 source of truth 吗?
  • 各端本地库(如 SwiftData)只是缓存,还是可离线编辑的本地真相?
  • 原来的 vault Markdown / HTML 文件还保留吗?
  • 用户能不能导出完整本地知识库?

定完权威模型后,同步协议要写死这些

  • 每条数据带 id / version / updatedAt / deletedAt / deviceId
  • 客户端保存 sync cursor
  • 服务端提供 pull / push / conflict response
  • 删除用 tombstone,不物理删除
  • 标题改名、slug 改名、HTML 笔记、附件都要有规则
  • Web 和原生端(Swift)必须跑同一组同步测试用例

迁移不能后补

2.0 不能无视 1.x。要写清:首次启动扫描本地 vault;Markdown / HTML / clips / feeds 怎么导入云端;本地文件路径与云端 ID 怎么绑定;迁移失败如何回滚;用户是否可以选择「不上传,只本地使用」。

相关