SuperAPI AI 工具集

surrealkit

通用与其它

查看项目

更新于 10-15 21:33

技能介绍

用途:SurrealKit 是 SurrealDB 的模式管理与迁移命令行工具,让数据库与 .surql 模式文件保持一致。分为两条工作流:面向本地、预览等可丢弃数据库的声明式同步(surrealkit sync),以及面向共享/生产数据库、需要评审、分阶段执行、回滚与人工切换的迁移(surrealkit rollout)。可安装:cargo binstall surrealkit、cargo install surrealkit,或 docker pull ghcr.io/surrealdb/surrealkit:latest。

主要命令:init 从模板脚手架项目;sync 按模式文件调和数据库;rollout 计划/暂存/完成/回滚/修复迁移;seed 运行 database/seed/ 下种子文件(幂等、按哈希跟踪);check 不连数据库静态分析 SurrealQL;generate/watch 为嵌入查询生成并刷新类型化客户端;typegen 从活动数据库生成 JSON/TypeScript 类型;test 运行声明式 TOML 测试套件;apply 直接应用单个 .surql 文件;setup 建立工具自身元数据表;status 查看同步/迁移状态。

连接与配置:全局参数解析优先级为 surrealkit.toml 的 [target.<name>] > CLI 参数 > 系统环境变量 > .env > 默认值。默认 host 为 http://localhost:8000,ns 为 db,db 为 test,用户与密码均为 root,模式目录为 database。可用嵌入式端点如 surrealkv://./data,嵌入式引擎需独占锁,运行 CLI 前应停止应用。DATABASE_* 别名在 1.0 已移除,设置旧变量会报硬错误。

限制与约定:模式文件应只含 DEFINE/REMOVE 语句,其他语句需 --allow-all-statements,会禁用目录实体跟踪;rollout plan 与 database/snapshots/ 比对而非实时数据库,sync 不写快照;从纯 sync 转向 rollout 需先执行 rollout baseline;未定义的模板变量是硬错误;静态分析默认开启,从源码构建需 C 编译器和 cmake,关闭可减约 7.5 MiB 并缩短构建时间。该工具较年轻且在演进,命令细节以 surrealkit --help 和 README 为准。