1+ -- +goose Up
2+ CREATE TABLE IF NOT EXISTS trigger_dev .task_event_usage_by_minute_v1
3+ (
4+ organization_id String,
5+ project_id String,
6+ environment_id String,
7+ bucket_start DateTime,
8+ event_count UInt64
9+ )
10+ ENGINE = SummingMergeTree()
11+ PARTITION BY toYYYYMM(bucket_start)
12+ ORDER BY (organization_id, project_id, environment_id, bucket_start)
13+ TTL bucket_start + INTERVAL 8 DAY;
14+
15+ CREATE TABLE IF NOT EXISTS trigger_dev .task_event_usage_by_hour_v1
16+ (
17+ organization_id String,
18+ project_id String,
19+ environment_id String,
20+ bucket_start DateTime,
21+ event_count UInt64
22+ )
23+ ENGINE = SummingMergeTree()
24+ PARTITION BY toYYYYMM(bucket_start)
25+ ORDER BY (organization_id, project_id, environment_id, bucket_start)
26+ TTL bucket_start + INTERVAL 400 DAY;
27+
28+ CREATE MATERIALIZED VIEW IF NOT EXISTS trigger_dev .mv_task_event_usage_by_minute_v1
29+ TO trigger_dev .task_event_usage_by_minute_v1 AS
30+ SELECT
31+ organization_id,
32+ project_id,
33+ environment_id,
34+ toStartOfMinute(start_time) AS bucket_start,
35+ count () AS event_count
36+ FROM trigger_dev .task_events_v1
37+ GROUP BY organization_id, project_id, environment_id, bucket_start;
38+
39+ CREATE MATERIALIZED VIEW IF NOT EXISTS trigger_dev .mv_task_event_usage_by_hour_v1
40+ TO trigger_dev .task_event_usage_by_hour_v1 AS
41+ SELECT
42+ organization_id,
43+ project_id,
44+ environment_id,
45+ toStartOfHour(bucket_start) AS bucket_start,
46+ sum (event_count) AS event_count
47+ FROM trigger_dev .task_event_usage_by_minute_v1
48+ GROUP BY organization_id, project_id, environment_id, bucket_start;
49+
50+
51+ -- +goose Down
52+ DROP TABLE IF EXISTS trigger_dev .task_event_usage_by_hour_v1 ;
53+ DROP TABLE IF EXISTS trigger_dev .task_event_usage_by_minute_v1 ;
54+ DROP MATERIALIZED VIEW IF EXISTS trigger_dev .mv_task_event_usage_by_minute_v1 ;
55+ DROP MATERIALIZED VIEW IF EXISTS trigger_dev .mv_task_event_usage_by_hour_v1 ;
0 commit comments