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