SuperAPI AI 工具集

chkit

通用与其它

查看项目

更新于 10-16 02:35

技能介绍

用途:chkit 用于管理 ClickHouse 数据库结构,核心工作流是以 TypeScript 编写 schema 定义,生成迁移 SQL、检测结构漂移,并在 CI 中做检查。文档地址 https://chkit.obsessiondb.com。

主要能力:支持用 @chkit/core 的 table、view、materializedView、schema 定义表/视图/物化视图;generate 离线对比定义与快照生成迁移,并按 safe/caution/danger 标注操作风险;migrate 应用迁移(破坏性操作需 --allow-destructive);status 查看迁移状态;drift 对比快照与线上库;check 作为 CI 门禁;snapshot rebuild 修复快照;query 执行 SQL。插件含 codegen、pull、backfill、obsessiondb。

使用方式:bun add -d chkit,bunx chkit init,编辑 src/db/schema/example.ts,运行 chkit generate --name init 和 chkit migrate --apply。配置写在项目根 clickhouse.config.ts,连接需 CLICKHOUSE_URL、CLICKHOUSE_USER、CLICKHOUSE_PASSWORD、CLICKHOUSE_DB,凭据应放在环境变量或被忽略的 .env,不得写入 schema/迁移文件。generate 是离线的,不猜测目标端点。

限制:未提供凭据时只能离线准备定义;数据库命名空间不明时不得生成迁移。视图 SQL 应写全限定的 db.name。结构属性变更(如 engine、orderBy、partitionBy)需 drop+recreate,视图和物化视图始终 drop+recreate。注释剥离行为因版本而异,需检查生成的迁移。backfill 按物理分区和排序键分块,--from/--to 按元数据选分区。不得手工编辑 _chkit_migrations 日志。未提供的具体定价、平台支持等信息暂未提供。