sql-yodeler-example-clickhouse
ClickHouse, 2 objects, from chant build of the declared schema. Written by yodel docs.
Objects
- shop Database
- shop.events Table
Entity relationships
Mermaid source; erd.md next to this file renders it on GitHub, GitLab and Forgejo.
erDiagram
shop_events["shop.events"] {
UInt64 id PK
LowCardinality(String) kind PK
DateTime at
LowCardinality(String) country
LowCardinality(String) source
}
Reference
shopClickHouse::Database, export shopDb
The SQL Yodeler ClickHouse example
- Engine
Atomic
History
| Migration | Step |
|---|---|
20261010T1722-baseline | SQLCH200 create: CREATE DATABASE shop
ENGINE = Atomic
COMMENT 'The SQL Yodeler ClickHouse example [chant managed-by=chant]' |
DDL
CREATE DATABASE shop ENGINE = Atomic COMMENT 'The SQL Yodeler ClickHouse example'
shop.eventsClickHouse::Table, export events
- Engine
MergeTree- ORDER BY
(kind, id)- PARTITION BY
toYYYYMM(at)
| Column | Type | Null | Key | Default | Comment |
|---|---|---|---|---|---|
id | UInt64 | no | PK | ||
kind | LowCardinality(String) | no | PK | ||
at | DateTime | no | |||
country | LowCardinality(String) | no | DEFAULT '' | ||
source | LowCardinality(String) | no | DEFAULT 'web' |
History
| Migration | Step |
|---|---|
20261010T1722-baseline | SQLCH200 create: CREATE TABLE shop.events
(
id UInt64,
kind LowCardinality(String),
at DateTime
)
ENGINE = MergeTree
PARTITION BY toYYYYMM(at)
ORDER BY (kind, at) COMMENT '[chant managed-by=chant]' |
20261010T1722-add-country | SQLCH201 metadata: ALTER TABLE `shop`.`events` ADD COLUMN country LowCardinality(String) DEFAULT '' AFTER `at` |
20261010T1722-events-by-id | ClickHouseRebuildOp step (SQLCH220 orderBy) |
20261010T1723-add-source | SQLCH201 metadata: ALTER TABLE `shop`.`events` ADD COLUMN source LowCardinality(String) DEFAULT 'web' AFTER `country` |
DDL
CREATE TABLE shop.events
(
id UInt64,
kind LowCardinality(String),
at DateTime,
country LowCardinality(String) DEFAULT '',
source LowCardinality(String) DEFAULT 'web'
)
ENGINE = MergeTree
PARTITION BY toYYYYMM(at)
ORDER BY (kind, id)