CLI 快速开始
CLI 是建立可用 Graft 仓库的最短路径。本指南会创建 SQLite 数据库和应用文件的 两个版本,然后验证数据库能够恢复。
-
创建示例应用目录。
Terminal window mkdir app-state-democd app-state-demo -
初始化 Graft。
Terminal window graft init这会创建
.graft/,但不会创建默认数据库。 -
写入 SQLite。
Terminal window graft sql --db data.sqlite "CREATE TABLE notes(id INTEGER PRIMARY KEY, body TEXT);"graft sql --db data.sqlite "INSERT INTO notes(body) VALUES ('first note');" -
查看状态。
Terminal window graft statusdata.sqlite仍是普通 SQLite 文件。Graft 只在检查或暂存该路径时读取它。 -
提交第一个应用状态版本。
Terminal window graft add --allgraft commit -m "seed notes" -
修改数据库并添加文件。
Terminal window graft sql --db data.sqlite "INSERT INTO notes(body) VALUES ('second note');"mkdir -p attachmentsprintf 'draft\n' > attachments/readme.txt -
查看路径分类。
Terminal window graft status --jsonJSON 中的路径条目会包含
kind和storage。 -
提交并查看行级差异。
Terminal window graft add --allgraft commit -m "add second note and attachment"graft diff --rows HEAD~1 HEAD data.sqlite -
从最新提交恢复数据库。
Terminal window graft sql --db data.sqlite "DELETE FROM notes;"graft restore --source HEAD -- data.sqlitegraft status
从标准输入执行 SQL
Section titled “从标准输入执行 SQL”cat <<'SQL' | graft sql --db data.sqliteCREATE TABLE IF NOT EXISTS notes(id INTEGER PRIMARY KEY, body TEXT);INSERT INTO notes(body) VALUES ('hello from stdin');SELECT * FROM notes;SQL