跳转到内容

Graft

SQLite 应用状态的版本管理。

Graft 为 SQLite 应用背后的状态增加 Git-like 历史。它把 SQLite 数据库和 应用拥有的文件放进同一个仓库提交里,让一次 commit 表示应用可以打开的 一个完整状态。

Git 可以保存 .sqlite 文件,但通常只能把它当作 opaque bytes。Graft 让 SQLite 数据库成为一等版本对象:可以 stage、commit、查看 row diff、合并兼容 变化、解决结构化冲突,并恢复为数据库状态。

典型应用数据目录:

app-data/
data.sqlite
search.sqlite
settings.json
attachments/
note-42.png
contract.pdf

SQLite 继续负责读写、索引和事务。Graft 负责围绕这些状态建立历史:stage、 commit、branch、switch、row diff、restore、merge 和 remote sync。