From f4505bbc04e8138d2d33dfc5de8782568a67dfb7 Mon Sep 17 00:00:00 2001 From: Yuefei Ma Date: Fri, 6 May 2022 18:32:42 +0800 Subject: [PATCH 1/2] feat: replace mysql keywords/reserved words --- app/service/mysql.js | 12 ++++++++---- db/init.sql | 32 ++++++++++++++++---------------- 2 files changed, 24 insertions(+), 20 deletions(-) diff --git a/app/service/mysql.js b/app/service/mysql.js index 5660afc..6ee83e0 100644 --- a/app/service/mysql.js +++ b/app/service/mysql.js @@ -91,14 +91,15 @@ class MysqlService extends Service { /* table */ getAppByAppId(appId) { - const sql = 'SELECT * FROM apps WHERE id = ?'; + const sql = 'SELECT *, app_name as name, app_owner as owner FROM apps WHERE id = ?'; const params = [appId]; return this.consoleQuery(sql, params).then(data => data[0] || {}); } /* table */ updateFileStatusByAppAgentFile(appId, agentId, filePath) { - const sql = 'UPDATE files SET status = ? WHERE app = ? AND agent = ? AND file = ? AND status = ?'; + const sql = + 'UPDATE files SET file_status = ? WHERE app = ? AND agent = ? AND file = ? AND file_status = ?'; const params = [1, appId, agentId, filePath, 0]; return this.consoleQuery(sql, params); } @@ -114,7 +115,8 @@ class MysqlService extends Service { /* table strategies */ getStrategiesByAppIdAndContextType(appId, contextType) { - const sql = 'SELECT * FROM strategies WHERE app = ? AND context = ? AND status = 1'; + const sql = + 'SELECT *, strg_context as context, strg_status as status FROM strategies WHERE app = ? AND strg_context = ? AND strg_status = 1'; const params = [appId, contextType]; return this.consoleQuery(sql, params); } @@ -131,7 +133,9 @@ class MysqlService extends Service { if (!userIds.length) { return []; } - const sql = `SELECT * FROM user WHERE id in (${userIds.map(() => '?').join(',')})`; + const sql = `SELECT *, user_name as name FROM user WHERE id in (${userIds + .map(() => '?') + .join(',')})`; const params = [...userIds]; return this.consoleQuery(sql, params); } diff --git a/db/init.sql b/db/init.sql index 5675f1d..038ccf8 100644 --- a/db/init.sql +++ b/db/init.sql @@ -3,8 +3,8 @@ -- template: `process_${MM-DD}` DROP TABLE IF EXISTS `process`; CREATE TABLE `process`( - `id` INT UNSIGNED AUTO_INCREMENT COMMENT 'unique auto increment id', - `app` INT NOT NULL COMMENT 'app id', + `id` BIGINT UNSIGNED AUTO_INCREMENT COMMENT 'unique auto increment id', + `app` BIGINT NOT NULL COMMENT 'app id', `agent` VARCHAR(50) NOT NULL COMMENT 'agent name', `pid` INT NOT NULL COMMENT 'process id', `uptime` INT UNSIGNED COMMENT 'process uptime (sec)', @@ -12,10 +12,10 @@ CREATE TABLE `process`( `version` VARCHAR(50) NOT NULL COMMENT 'xprofiler version', -- cpu - `cpu_now` FLOAT(5,2) COMMENT 'current process cpu usage (0-100%)', - `cpu_15` FLOAT(5,2) COMMENT 'process cpu usage in last 15 sec (0-100%)', - `cpu_30` FLOAT(5,2) COMMENT 'process cpu usage in last 30 sec (0-100%)', - `cpu_60` FLOAT(5,2) COMMENT 'process cpu usage in last 60 sec (0-100%)', + `cpu_now` DECIMAL(5,2) COMMENT 'current process cpu usage (0-100%)', + `cpu_15` DECIMAL(5,2) COMMENT 'process cpu usage in last 15 sec (0-100%)', + `cpu_30` DECIMAL(5,2) COMMENT 'process cpu usage in last 30 sec (0-100%)', + `cpu_60` DECIMAL(5,2) COMMENT 'process cpu usage in last 60 sec (0-100%)', -- memory -- overview @@ -98,7 +98,7 @@ CREATE TABLE `process`( `http_response_sent` INT UNSIGNED COMMENT 'http responeses sent in last 1 min', `http_request_timeout` INT UNSIGNED COMMENT 'timeout http requests in last 1 min', `http_patch_timeout` INT UNSIGNED COMMENT 'http patch timeout (s)', - `http_rt` DOUBLE COMMENT 'http average response time (ms)', + `http_rt` DECIMAL(5,2) COMMENT 'http average response time (ms)', `gm_modified` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'system modify timestamp', `gm_create` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT 'system create timestamp', @@ -109,8 +109,8 @@ CREATE TABLE `process`( -- template: `osinfo_${MM-DD}` DROP TABLE IF EXISTS `osinfo`; CREATE TABLE `osinfo`( - `id` INT UNSIGNED AUTO_INCREMENT COMMENT 'unique auto increment id', - `app` INT NOT NULL COMMENT 'app id', + `id` BIGINT UNSIGNED AUTO_INCREMENT COMMENT 'unique auto increment id', + `app` BIGINT NOT NULL COMMENT 'app id', `agent` VARCHAR(50) NOT NULL COMMENT 'agent name', `uptime` INT UNSIGNED NOT NULL COMMENT 'system uptime', `log_time` DATETIME NOT NULL COMMENT 'system log created time on agent', @@ -118,7 +118,7 @@ CREATE TABLE `osinfo`( `version` VARCHAR(50) DEFAULT '' COMMENT 'xprofiler version', -- cpu - `used_cpu` DOUBLE COMMENT 'cpu usage (0-100%)', + `used_cpu` DECIMAL(5,2) COMMENT 'cpu usage (0-100%)', `cpu_count` INT UNSIGNED COMMENT 'cpu count', -- mem @@ -126,9 +126,9 @@ CREATE TABLE `osinfo`( `free_memory` BIGINT UNSIGNED COMMENT 'os free memory (byte)', -- load - `load1` DOUBLE COMMENT 'os load in last 1 min', - `load5` DOUBLE COMMENT 'os load in last 5 min', - `load15` DOUBLE COMMENT 'os load in last 15 min', + `load1` DECIMAL(5,2) COMMENT 'os load in last 1 min', + `load5` DECIMAL(5,2) COMMENT 'os load in last 5 min', + `load15` DECIMAL(5,2) COMMENT 'os load in last 15 min', -- disks `disks` VARCHAR(1024) COMMENT 'monitored disks directory and usage (0-100%)', @@ -154,7 +154,7 @@ CREATE TABLE `osinfo`( `http_response_sent` INT UNSIGNED COMMENT 'http responeses sent in last 1 min', `http_request_timeout` INT UNSIGNED COMMENT 'timeout http requests in last 1 min', `http_patch_timeout` INT UNSIGNED COMMENT 'http patch timeout (s)', - `http_rt` DOUBLE COMMENT 'http average response time (ms)', + `http_rt` DECIMAL(5,2) COMMENT 'http average response time (ms)', `gm_modified` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'system modify timestamp', `gm_create` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT 'system create timestamp', @@ -165,8 +165,8 @@ CREATE TABLE `osinfo`( -- template: `alarm_${MM-DD}` DROP TABLE IF EXISTS `alarm`; CREATE TABLE `alarm`( - `id` INT UNSIGNED AUTO_INCREMENT COMMENT 'unique auto increment id', - `strategy` INT UNSIGNED NOT NULL COMMENT 'strategy id', + `id` BIGINT UNSIGNED AUTO_INCREMENT COMMENT 'unique auto increment id', + `strategy` BIGINT UNSIGNED NOT NULL COMMENT 'strategy id', `agent` VARCHAR(50) NOT NULL COMMENT 'agent name', `message` VARCHAR(250) NOT NULL COMMENT 'alerm message', `pid` INT DEFAULT NULL COMMENT 'process id', From bad9d78d749e4ac84a0ecfbd0f6aad64610818ff Mon Sep 17 00:00:00 2001 From: Yuefei Ma Date: Mon, 9 May 2022 11:49:41 +0800 Subject: [PATCH 2/2] use decimal type --- app/service/mysql.js | 12 ++++-------- db/init.sql | 12 ++++++------ 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/app/service/mysql.js b/app/service/mysql.js index 6ee83e0..5660afc 100644 --- a/app/service/mysql.js +++ b/app/service/mysql.js @@ -91,15 +91,14 @@ class MysqlService extends Service { /* table */ getAppByAppId(appId) { - const sql = 'SELECT *, app_name as name, app_owner as owner FROM apps WHERE id = ?'; + const sql = 'SELECT * FROM apps WHERE id = ?'; const params = [appId]; return this.consoleQuery(sql, params).then(data => data[0] || {}); } /* table */ updateFileStatusByAppAgentFile(appId, agentId, filePath) { - const sql = - 'UPDATE files SET file_status = ? WHERE app = ? AND agent = ? AND file = ? AND file_status = ?'; + const sql = 'UPDATE files SET status = ? WHERE app = ? AND agent = ? AND file = ? AND status = ?'; const params = [1, appId, agentId, filePath, 0]; return this.consoleQuery(sql, params); } @@ -115,8 +114,7 @@ class MysqlService extends Service { /* table strategies */ getStrategiesByAppIdAndContextType(appId, contextType) { - const sql = - 'SELECT *, strg_context as context, strg_status as status FROM strategies WHERE app = ? AND strg_context = ? AND strg_status = 1'; + const sql = 'SELECT * FROM strategies WHERE app = ? AND context = ? AND status = 1'; const params = [appId, contextType]; return this.consoleQuery(sql, params); } @@ -133,9 +131,7 @@ class MysqlService extends Service { if (!userIds.length) { return []; } - const sql = `SELECT *, user_name as name FROM user WHERE id in (${userIds - .map(() => '?') - .join(',')})`; + const sql = `SELECT * FROM user WHERE id in (${userIds.map(() => '?').join(',')})`; const params = [...userIds]; return this.consoleQuery(sql, params); } diff --git a/db/init.sql b/db/init.sql index 038ccf8..c77d419 100644 --- a/db/init.sql +++ b/db/init.sql @@ -3,8 +3,8 @@ -- template: `process_${MM-DD}` DROP TABLE IF EXISTS `process`; CREATE TABLE `process`( - `id` BIGINT UNSIGNED AUTO_INCREMENT COMMENT 'unique auto increment id', - `app` BIGINT NOT NULL COMMENT 'app id', + `id` INT UNSIGNED AUTO_INCREMENT COMMENT 'unique auto increment id', + `app` INT NOT NULL COMMENT 'app id', `agent` VARCHAR(50) NOT NULL COMMENT 'agent name', `pid` INT NOT NULL COMMENT 'process id', `uptime` INT UNSIGNED COMMENT 'process uptime (sec)', @@ -109,8 +109,8 @@ CREATE TABLE `process`( -- template: `osinfo_${MM-DD}` DROP TABLE IF EXISTS `osinfo`; CREATE TABLE `osinfo`( - `id` BIGINT UNSIGNED AUTO_INCREMENT COMMENT 'unique auto increment id', - `app` BIGINT NOT NULL COMMENT 'app id', + `id` INT UNSIGNED AUTO_INCREMENT COMMENT 'unique auto increment id', + `app` INT NOT NULL COMMENT 'app id', `agent` VARCHAR(50) NOT NULL COMMENT 'agent name', `uptime` INT UNSIGNED NOT NULL COMMENT 'system uptime', `log_time` DATETIME NOT NULL COMMENT 'system log created time on agent', @@ -165,8 +165,8 @@ CREATE TABLE `osinfo`( -- template: `alarm_${MM-DD}` DROP TABLE IF EXISTS `alarm`; CREATE TABLE `alarm`( - `id` BIGINT UNSIGNED AUTO_INCREMENT COMMENT 'unique auto increment id', - `strategy` BIGINT UNSIGNED NOT NULL COMMENT 'strategy id', + `id` INT UNSIGNED AUTO_INCREMENT COMMENT 'unique auto increment id', + `strategy` INT UNSIGNED NOT NULL COMMENT 'strategy id', `agent` VARCHAR(50) NOT NULL COMMENT 'agent name', `message` VARCHAR(250) NOT NULL COMMENT 'alerm message', `pid` INT DEFAULT NULL COMMENT 'process id',