@ chkit/ 核心
TypeScript schema DSL,配置,以及用于ClickHouse schema管理的diff引擎.
部分 齐克特 单相机。 此软件包一般与 chkit CLI(英语:CLI).
安装
bun add -d chkit @chkit/core
使用量
在 TypeScript 中定义您的 ClickHouse 计划 :
// src/db/schema/events.ts
import { schema, table } from '@chkit/core'
const events = table({
database: 'default',
name: 'events',
engine: 'MergeTree',
columns: [
{ name: 'id', type: 'UInt64' },
{ name: 'source', type: 'String' },
{ name: 'occurred_at', type: 'DateTime64(3)', default: { expression: 'now64(3)' } },
],
primaryKey: ['id'],
orderBy: ['id'],
partitionBy: 'toYYYYMM(occurred_at)',
})
export default schema(events)
配置您的工程 :
// clickhouse.config.ts
import { defineConfig } from '@chkit/core'
export default defineConfig({
schema: './src/db/schema/**/*.ts',
outDir: './chkit',
clickhouse: {
url: process.env.CLICKHOUSE_URL ?? 'http://localhost:8123',
username: process.env.CLICKHOUSE_USER ?? 'default',
password: process.env.CLICKHOUSE_PASSWORD ?? '',
database: 'default',
},
})
设置开发数据库的连接环境变量,然后生成、审查和应用迁移:
bunx chkit generate --name create-events
# Review the SQL in chkit/migrations/ and preview the plan:
bunx chkit migrate --json
bunx chkit migrate --apply
bunx chkit check
提交计划定义、迁移文件,以及 chkit/meta/ 一起来 更改定义并重复工作流程来发展数据库.
文档
- 初学辅导 ——完整的迁移工作流程.
- Schema DSL 参考文献 表格、观点、实际观点、词典和计划选项.
- 配置 ——配置文件,连接和插件.
- Python 概览 (β) - 与之相当的工作流程
chkit-py。 。 。 .