diff --git a/db/mysql/migrations/02_report_schema/migration.sql b/db/mysql/migrations/02_report_schema/migration.sql deleted file mode 100644 index 0476e9f7..00000000 --- a/db/mysql/migrations/02_report_schema/migration.sql +++ /dev/null @@ -1,19 +0,0 @@ --- CreateTable -CREATE TABLE `report` ( - `report_id` VARCHAR(36) NOT NULL, - `user_id` VARCHAR(36) NOT NULL, - `website_id` VARCHAR(36) NOT NULL, - `type` VARCHAR(200) NOT NULL, - `name` VARCHAR(200) NOT NULL, - `description` VARCHAR(500) NOT NULL, - `parameters` VARCHAR(6000) NOT NULL, - `created_at` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - `updated_at` TIMESTAMP(0) NULL, - - UNIQUE INDEX `report_report_id_key`(`report_id`), - INDEX `report_user_id_idx`(`user_id`), - INDEX `report_website_id_idx`(`website_id`), - INDEX `report_type_idx`(`type`), - INDEX `report_name_idx`(`name`), - PRIMARY KEY (`report_id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; diff --git a/db/mysql/migrations/03_session_data/migration.sql b/db/mysql/migrations/02_report_schema_session_data/migration.sql similarity index 50% rename from db/mysql/migrations/03_session_data/migration.sql rename to db/mysql/migrations/02_report_schema_session_data/migration.sql index 161b455f..49708899 100644 --- a/db/mysql/migrations/03_session_data/migration.sql +++ b/db/mysql/migrations/02_report_schema_session_data/migration.sql @@ -1,16 +1,3 @@ -/* - Warnings: - - - The primary key for the `event_data` table will be changed. If it partially fails, the table could be left without primary key constraint. - - You are about to drop the column `event_data_type` on the `event_data` table. All the data in the column will be lost. - - You are about to drop the column `event_date_value` on the `event_data` table. All the data in the column will be lost. - - You are about to drop the column `event_id` on the `event_data` table. All the data in the column will be lost. - - You are about to drop the column `event_numeric_value` on the `event_data` table. All the data in the column will be lost. - - You are about to drop the column `event_string_value` on the `event_data` table. All the data in the column will be lost. - - Added the required column `data_type` to the `event_data` table without a default value. This is not possible if the table is not empty. - - Added the required column `event_data_id` to the `event_data` table without a default value. This is not possible if the table is not empty. - -*/ -- AlterTable ALTER TABLE `event_data` RENAME COLUMN `event_data_type` TO `data_type`; ALTER TABLE `event_data` RENAME COLUMN `event_date_value` TO `date_value`; @@ -35,3 +22,32 @@ CREATE TABLE `session_data` ( INDEX `session_data_session_id_idx`(`session_id`), PRIMARY KEY (`session_data_id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; + +-- CreateTable +CREATE TABLE `report` ( + `report_id` VARCHAR(36) NOT NULL, + `user_id` VARCHAR(36) NOT NULL, + `website_id` VARCHAR(36) NOT NULL, + `type` VARCHAR(200) NOT NULL, + `name` VARCHAR(200) NOT NULL, + `description` VARCHAR(500) NOT NULL, + `parameters` VARCHAR(6000) NOT NULL, + `created_at` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), + `updated_at` TIMESTAMP(0) NULL, + + UNIQUE INDEX `report_report_id_key`(`report_id`), + INDEX `report_user_id_idx`(`user_id`), + INDEX `report_website_id_idx`(`website_id`), + INDEX `report_type_idx`(`type`), + INDEX `report_name_idx`(`name`), + PRIMARY KEY (`report_id`) +) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; + +-- EventData migration +UPDATE event_data +SET string_value = number_value +WHERE data_type = 2; + +UPDATE event_data +SET string_value = CONCAT(REPLACE(DATE_FORMAT(date_value, '%Y-%m-%d %T'), ' ', 'T'), 'Z') +WHERE data_type = 4; \ No newline at end of file diff --git a/db/postgresql/migrations/02_report_schema_session_data/migration.sql b/db/postgresql/migrations/02_report_schema_session_data/migration.sql index 41c907cd..5fe6ef9d 100644 --- a/db/postgresql/migrations/02_report_schema_session_data/migration.sql +++ b/db/postgresql/migrations/02_report_schema_session_data/migration.sql @@ -66,5 +66,5 @@ SET string_value = number_value WHERE data_type = 2; UPDATE "event_data" -SET string_value = CONCAT(REPLACE(TO_CHAR(date_value, 'YYYY-MM-DD HH24:MI:SS:MS'), ' ', 'T'), 'Z') +SET string_value = CONCAT(REPLACE(TO_CHAR(date_value, 'YYYY-MM-DD HH24:MI:SS'), ' ', 'T'), 'Z') WHERE data_type = 4; \ No newline at end of file diff --git a/queries/analytics/eventData/saveEventData.ts b/queries/analytics/eventData/saveEventData.ts index f7cf06ee..f30ceb90 100644 --- a/queries/analytics/eventData/saveEventData.ts +++ b/queries/analytics/eventData/saveEventData.ts @@ -38,7 +38,11 @@ async function relationalQuery(data: { websiteId, eventKey: a.key, stringValue: - a.dynamicDataType === DATA_TYPE.number ? parseFloat(a.value).toFixed(4) : a.value.toString(), + a.dynamicDataType === DATA_TYPE.number + ? parseFloat(a.value).toFixed(4) + : a.dynamicDataType === DATA_TYPE.date + ? a.value.split('.')[0] + 'Z' + : a.value.toString(), numberValue: a.dynamicDataType === DATA_TYPE.number ? a.value : null, dateValue: a.dynamicDataType === DATA_TYPE.date ? new Date(a.value) : null, dataType: a.dynamicDataType, diff --git a/queries/analytics/session/saveSessionData.ts b/queries/analytics/session/saveSessionData.ts index 312f1f53..192053f1 100644 --- a/queries/analytics/session/saveSessionData.ts +++ b/queries/analytics/session/saveSessionData.ts @@ -20,7 +20,11 @@ export async function saveSessionData(data: { sessionId, key: a.key, stringValue: - a.dynamicDataType === DATA_TYPE.number ? parseFloat(a.value).toFixed(4) : a.value.toString(), + a.dynamicDataType === DATA_TYPE.number + ? parseFloat(a.value).toFixed(4) + : a.dynamicDataType === DATA_TYPE.date + ? a.value.split('.')[0] + 'Z' + : a.value.toString(), numberValue: a.dynamicDataType === DATA_TYPE.number ? a.value : null, dateValue: a.dynamicDataType === DATA_TYPE.date ? new Date(a.value) : null, dataType: a.dynamicDataType,