From fcfd5e1aaee18ef58b26cba47682292a264886e1 Mon Sep 17 00:00:00 2001 From: DenisN Date: Tue, 1 Jul 2025 08:55:57 -0400 Subject: [PATCH] TablesCreate --- src/database/clickhouse/clickhouse.service.ts | 76 +++++++++++++++---- src/zvksmetrics/zvksmetrics.controller.ts | 2 +- src/zvksmetrics/zvksmetrics.service.ts | 2 +- 3 files changed, 63 insertions(+), 17 deletions(-) diff --git a/src/database/clickhouse/clickhouse.service.ts b/src/database/clickhouse/clickhouse.service.ts index 882bc5a..d81f159 100644 --- a/src/database/clickhouse/clickhouse.service.ts +++ b/src/database/clickhouse/clickhouse.service.ts @@ -4,12 +4,12 @@ import { isInternalThread } from 'node:worker_threads'; @Injectable() export class ClickhouseService { - async ClickHouseConnect(parameterBody: any): Promise { - let variable = new ClickHouse({ - // url: 'http://192.168.2.37', - // port: 8123, - url: DATABASE_NAME, - PORT: DATABASE_PORT, + async ClickHouseConnect(): Promise{ + let connectionData = new ClickHouse({ + url: 'http://192.168.2.37', + port: 8123, + // url: DATABASE_NAME, + // PORT: DATABASE_PORT, debug: false, basicAuth: { username: 'root', @@ -34,6 +34,13 @@ export class ClickhouseService { // }, }); + return connectionData; + + } + + async ClickHouseDBsCreate(parameterBody: any): Promise { + let connectionData = await this.ClickHouseConnect(); + // let queries = [ // 'DROP TABLE IF EXISTS session_temp', @@ -54,26 +61,65 @@ export class ClickhouseService { let queries = [ `CREATE TABLE IF NOT EXISTS raw_parameters ( - EventTimestamp DateTime64, + EventDataTime DateTime64, + ParameterBody String, + CreateDataTime DateTime64, + ) ENGINE = MergeTree() + PRIMARY KEY (EventDataTime)`, + + `CREATE TABLE IF NOT EXISTS complex_parameters ( + EventDataTime DateTime64, ParameterBody String, CreateDate DateTime64, ) ENGINE = MergeTree() - PRIMARY KEY (EventTimestamp)` + PRIMARY KEY (EventDataTime)`, + + `CREATE TABLE IF NOT EXISTS raw_parameters_extended ( + EventDataTime DateTime64, + IDParameter UInt64, + ParameterName String, + ParameterValue Float64, + ParameterBody String, + CreateDate DateTime64, + ) ENGINE = MergeTree() + PRIMARY KEY (EventDataTime)`, + + `CREATE TABLE IF NOT EXISTS complex_parameters_extended ( + EventDataTime DateTime64, + IDParameter UInt64, + ParameterName String, + ParameterValue Float64, + ParameterBody String, + CreateDate DateTime64, + ) ENGINE = MergeTree() + PRIMARY KEY (EventDataTime)`, + + `CREATE TABLE IF NOT EXISTS status_events ( + EventDataTime DateTime64, + IDParameter UInt64, + ParameterName String, + ParameterValue Float64, + ParameterBody String, + PreviousStatus Int32, + CurrentStatus Int32, + CreateDate DateTime64, + ) ENGINE = MergeTree() + PRIMARY KEY (EventDataTime)`, + ]; - let insertQuery = '\nINSERT INTO raw_parameters VALUES(toDateTime(now()), \'{{parameterBody}}\', toDateTime(now()));'; - insertQuery = insertQuery.replace('{{parameterBody}}', parameterBody); + // let insertQuery = '\nINSERT INTO raw_parameters VALUES(toDateTime(now()), \'{{parameterBody}}\', toDateTime(now()));'; + // insertQuery = insertQuery.replace('{{parameterBody}}', parameterBody); - console.log(insertQuery); // console.log(insertQuery); - queries.push(insertQuery); + // queries.push(insertQuery); for (let query of queries) { - let r = await variable.query(query).toPromise(); + let r = await connectionData.query(query).toPromise(); // console.log(query, r); } - console.log(variable); - return variable; + console.log(connectionData); + return connectionData; } } diff --git a/src/zvksmetrics/zvksmetrics.controller.ts b/src/zvksmetrics/zvksmetrics.controller.ts index 6d9c837..9c83a4d 100644 --- a/src/zvksmetrics/zvksmetrics.controller.ts +++ b/src/zvksmetrics/zvksmetrics.controller.ts @@ -48,7 +48,7 @@ export class ZvksmetricsController { @Post('input') async getPostMessage(@Body() inputMetrics: any): Promise { - console.log(inputMetrics); + // console.log(inputMetrics); let out: any = await this.metricsService.useStatusModel(inputMetrics); return out; diff --git a/src/zvksmetrics/zvksmetrics.service.ts b/src/zvksmetrics/zvksmetrics.service.ts index 86f17d9..d37d011 100644 --- a/src/zvksmetrics/zvksmetrics.service.ts +++ b/src/zvksmetrics/zvksmetrics.service.ts @@ -83,7 +83,7 @@ export class ZvksmetricsService { let parameterBody: string = JSON.stringify(ctp); // console.log(parameterBody); let abc = new ClickhouseService(); - abc.ClickHouseConnect(parameterBody); + abc.ClickHouseDBsCreate(parameterBody); // const val = JSON.parse(JSON.stringify(model[0].values));