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