diff --git a/db/clickhouse/migrations/01_edit_keys.sql b/db/clickhouse/migrations/01_edit_keys.sql index 952151ec..3fc7dd79 100644 --- a/db/clickhouse/migrations/01_edit_keys.sql +++ b/db/clickhouse/migrations/01_edit_keys.sql @@ -6,4 +6,13 @@ ALTER TABLE "event_data" RENAME COLUMN "event_data_type" TO "data_type"; -- add job_id ALTER TABLE "website_event" ADD COLUMN "job_id" UUID AFTER "created_at"; -ALTER TABLE "event_data" ADD COLUMN "job_id" UUID AFTER "created_at"; \ No newline at end of file +ALTER TABLE "event_data" ADD COLUMN "job_id" UUID AFTER "created_at"; + +-- update event_data string +alter table umami.event_data +update string_value = number_value +where data_type = 2 + +alter table umami.event_data +update string_value = replaceOne(concat(CAST(toDateTime(date_value, 'UTC'), 'String'),'Z'), ' ', 'T') +where data_type = 4 \ No newline at end of file diff --git a/lib/kafka.ts b/lib/kafka.ts index 3d3e281c..8f5bb87f 100644 --- a/lib/kafka.ts +++ b/lib/kafka.ts @@ -61,8 +61,8 @@ async function getProducer(): Promise { return producer; } -function getDateFormat(date): string { - return dateFormat(date, 'UTC:yyyy-mm-dd HH:MM:ss'); +function getDateFormat(date, format?): string { + return dateFormat(date, format ? format : 'UTC:yyyy-mm-dd HH:MM:ss'); } async function sendMessage( diff --git a/queries/analytics/eventData/saveEventData.ts b/queries/analytics/eventData/saveEventData.ts index 0ccc9421..c889955f 100644 --- a/queries/analytics/eventData/saveEventData.ts +++ b/queries/analytics/eventData/saveEventData.ts @@ -36,13 +36,8 @@ async function relationalQuery(data: { id: uuid(), websiteEventId: eventId, websiteId, - key: a.key, - stringValue: - a.dynamicDataType === DATA_TYPE.string || - a.dynamicDataType === DATA_TYPE.boolean || - a.dynamicDataType === DATA_TYPE.array - ? a.value - : null, + eventKey: a.key, + stringValue: a.value.toString(), numericValue: a.dynamicDataType === DATA_TYPE.number ? a.value : null, dateValue: a.dynamicDataType === DATA_TYPE.date ? new Date(a.value) : null, dataType: a.dynamicDataType, @@ -76,11 +71,7 @@ async function clickhouseQuery(data: { event_name: eventName, event_key: a.key, string_value: - a.dynamicDataType === DATA_TYPE.string || - a.dynamicDataType === DATA_TYPE.boolean || - a.dynamicDataType === DATA_TYPE.array - ? a.value - : null, + a.dynamicDataType === DATA_TYPE.date ? getDateFormat(a.value, 'isoUtcDateTime') : a.value, number_value: a.dynamicDataType === DATA_TYPE.number ? a.value : null, date_value: a.dynamicDataType === DATA_TYPE.date ? getDateFormat(a.value) : null, data_type: a.dynamicDataType,