数据权威模型要先于同步与迁移确定
必须回答的四个问题
- 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 怎么绑定;迁移失败如何回滚;用户是否可以选择「不上传,只本地使用」。
相关
- 多源更新按维度取真源 —— 单条数据层面的「真源」判定
- 更新时序要由本地最新状态决定 —— 冲突合并时的时序依据
- 完整蓝图不等于同阶段交付
- 本地优先知识产品的架构演进