TablesCreate

main
DenisN 2025-07-01 08:55:57 -04:00
parent 630f4f9658
commit fcfd5e1aae
3 changed files with 63 additions and 17 deletions

View File

@ -4,12 +4,12 @@ import { isInternalThread } from 'node:worker_threads';
@Injectable() @Injectable()
export class ClickhouseService { export class ClickhouseService {
async ClickHouseConnect(parameterBody: any): Promise<any> { async ClickHouseConnect(): Promise<any>{
let variable = new ClickHouse({ let connectionData = new ClickHouse({
// url: 'http://192.168.2.37', url: 'http://192.168.2.37',
// port: 8123, port: 8123,
url: DATABASE_NAME, // url: DATABASE_NAME,
PORT: DATABASE_PORT, // PORT: DATABASE_PORT,
debug: false, debug: false,
basicAuth: { basicAuth: {
username: 'root', username: 'root',
@ -34,6 +34,13 @@ export class ClickhouseService {
// }, // },
}); });
return connectionData;
}
async ClickHouseDBsCreate(parameterBody: any): Promise<any> {
let connectionData = await this.ClickHouseConnect();
// let queries = [ // let queries = [
// 'DROP TABLE IF EXISTS session_temp', // 'DROP TABLE IF EXISTS session_temp',
@ -54,26 +61,65 @@ export class ClickhouseService {
let queries = [ let queries = [
`CREATE TABLE IF NOT EXISTS raw_parameters ( `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, ParameterBody String,
CreateDate DateTime64, CreateDate DateTime64,
) ENGINE = MergeTree() ) 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()));'; // let insertQuery = '\nINSERT INTO raw_parameters VALUES(toDateTime(now()), \'{{parameterBody}}\', toDateTime(now()));';
insertQuery = insertQuery.replace('{{parameterBody}}', parameterBody); // insertQuery = insertQuery.replace('{{parameterBody}}', parameterBody);
console.log(insertQuery);
// console.log(insertQuery); // console.log(insertQuery);
queries.push(insertQuery); // queries.push(insertQuery);
for (let query of queries) { 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(query, r);
} }
console.log(variable); console.log(connectionData);
return variable; return connectionData;
} }
} }

View File

@ -48,7 +48,7 @@ export class ZvksmetricsController {
@Post('input') @Post('input')
async getPostMessage(@Body() inputMetrics: any): Promise<string> { async getPostMessage(@Body() inputMetrics: any): Promise<string> {
console.log(inputMetrics); // console.log(inputMetrics);
let out: any = await this.metricsService.useStatusModel(inputMetrics); let out: any = await this.metricsService.useStatusModel(inputMetrics);
return out; return out;

View File

@ -83,7 +83,7 @@ export class ZvksmetricsService {
let parameterBody: string = JSON.stringify(ctp); let parameterBody: string = JSON.stringify(ctp);
// console.log(parameterBody); // console.log(parameterBody);
let abc = new ClickhouseService(); let abc = new ClickhouseService();
abc.ClickHouseConnect(parameterBody); abc.ClickHouseDBsCreate(parameterBody);
// const val = JSON.parse(JSON.stringify(model[0].values)); // const val = JSON.parse(JSON.stringify(model[0].values));