From cc834083d9781874f546fe86e6e724ea285e51c1 Mon Sep 17 00:00:00 2001 From: Francis Cao Date: Mon, 8 Apr 2024 16:36:31 -0700 Subject: [PATCH] update CH schema/migration to include session_data --- db/clickhouse/migrations/03_session_data.sql | 57 ++++++++++++++++++++ db/clickhouse/schema.sql | 24 +++++++-- 2 files changed, 77 insertions(+), 4 deletions(-) create mode 100644 db/clickhouse/migrations/03_session_data.sql diff --git a/db/clickhouse/migrations/03_session_data.sql b/db/clickhouse/migrations/03_session_data.sql new file mode 100644 index 00000000..1ed2c060 --- /dev/null +++ b/db/clickhouse/migrations/03_session_data.sql @@ -0,0 +1,57 @@ +CREATE TABLE umami.event_data_new +( + website_id UUID, + session_id UUID, + event_id UUID, + url_path String, + event_name String, + data_key String, + string_value Nullable(String), + number_value Nullable(Decimal64(4)), + date_value Nullable(DateTime('UTC')), + data_type UInt32, + created_at DateTime('UTC'), + job_id Nullable(UUID) +) + engine = MergeTree + ORDER BY (website_id, event_id, data_key, created_at) + SETTINGS index_granularity = 8192; + +INSERT INTO umami.event_data_new +SELECT website_id, + session_id, + event_id, + url_path, + event_name, + event_key, + string_value, + number_value, + date_value, + data_type, + created_at, + NULL +FROM umami.event_data; + +CREATE TABLE umami.session_data +( + website_id UUID, + session_id UUID, + data_key String, + string_value Nullable(String), + number_value Nullable(Decimal64(4)), + date_value Nullable(DateTime('UTC')), + data_type UInt32, + created_at DateTime('UTC'), + job_id Nullable(UUID) +) + engine = MergeTree + ORDER BY (website_id, session_id, data_key, created_at) + SETTINGS index_granularity = 8192; + +RENAME TABLE umami.event_data TO umami.event_data_old; +RENAME TABLE umami.event_data_new TO umami.event_data; + +/* +DROP TABLE umami.event_data_old + */ + diff --git a/db/clickhouse/schema.sql b/db/clickhouse/schema.sql index dad4f4af..c2fa7135 100644 --- a/db/clickhouse/schema.sql +++ b/db/clickhouse/schema.sql @@ -40,14 +40,30 @@ CREATE TABLE umami.event_data event_id UUID, url_path String, event_name String, - event_key String, + data_key String, string_value Nullable(String), - number_value Nullable(Decimal64(4)), --922337203685477.5625 + number_value Nullable(Decimal64(4)), date_value Nullable(DateTime('UTC')), data_type UInt32, created_at DateTime('UTC'), - job_id UUID + job_id Nullable(UUID) ) engine = MergeTree - ORDER BY (website_id, event_id, event_key, created_at) + ORDER BY (website_id, event_id, data_key, created_at) + SETTINGS index_granularity = 8192; + +CREATE TABLE umami.session_data +( + website_id UUID, + session_id UUID, + data_key String, + string_value Nullable(String), + number_value Nullable(Decimal64(4)), + date_value Nullable(DateTime('UTC')), + data_type UInt32, + created_at DateTime('UTC'), + job_id Nullable(UUID) +) + engine = MergeTree + ORDER BY (website_id, session_id, data_key, created_at) SETTINGS index_granularity = 8192; \ No newline at end of file