43 lines
1.9 KiB
SQL
43 lines
1.9 KiB
SQL
-- +goose Up
|
|
|
|
CREATE TABLE trigger_dev.sessions_v1
|
|
(
|
|
/* ─── identity ─────────────────────────────────────────────── */
|
|
environment_id String,
|
|
organization_id String,
|
|
project_id String,
|
|
session_id String,
|
|
|
|
environment_type LowCardinality(String),
|
|
friendly_id String,
|
|
external_id String DEFAULT '',
|
|
|
|
/* ─── type discriminator ──────────────────────────────────── */
|
|
type LowCardinality(String),
|
|
task_identifier String DEFAULT '',
|
|
|
|
/* ─── filtering / free-form ──────────────────────────────── */
|
|
tags Array(String) CODEC(ZSTD(1)),
|
|
metadata JSON(max_dynamic_paths = 256),
|
|
|
|
/* ─── terminal markers ────────────────────────────────────── */
|
|
closed_at Nullable(DateTime64(3)),
|
|
closed_reason String DEFAULT '',
|
|
expires_at Nullable(DateTime64(3)),
|
|
|
|
/* ─── timing ─────────────────────────────────────────────── */
|
|
created_at DateTime64(3),
|
|
updated_at DateTime64(3),
|
|
|
|
/* ─── commit lsn ────────────────────────────────────────── */
|
|
_version UInt64,
|
|
_is_deleted UInt8 DEFAULT 0
|
|
)
|
|
ENGINE = ReplacingMergeTree(_version, _is_deleted)
|
|
PARTITION BY toYYYYMM(created_at)
|
|
ORDER BY (organization_id, project_id, environment_id, created_at, session_id)
|
|
SETTINGS enable_json_type = 1;
|
|
|
|
-- +goose Down
|
|
DROP TABLE IF EXISTS trigger_dev.sessions_v1;
|