| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- -- 1.0.278:KPI SQL 配置化计算引擎(AIDOP-KPI-SQL-CONFIG-RUNTIME-1)。
- -- 表结构由 CodeFirst(EnableInitTable=true)从实体创建;本项目 EnableUnderLine=false → 列名 PascalCase。
- -- 下方 CREATE TABLE IF NOT EXISTS 为兜底(CodeFirst 已建则跳过),列名/类型对齐实体。
- -- 种子:S5_L1_001 在 AIDOP 租户 797403760988229 的 LEGACY_CODE v1(PUBLISHED/IsCurrent=1)——默认=legacy 向后兼容 + 支持"回滚到 LEGACY_CODE"演示。
- CREATE TABLE IF NOT EXISTS ado_smart_ops_kpi_calc_config (
- `Id` BIGINT NOT NULL AUTO_INCREMENT,
- `TenantId` BIGINT DEFAULT NULL,
- `MetricCode` VARCHAR(50) NOT NULL,
- `ModuleCode` VARCHAR(20) NOT NULL,
- `VersionNo` INT NOT NULL,
- `CalcEngineType` VARCHAR(20) NOT NULL DEFAULT 'CONFIG_SQL',
- `DataSourceCode` VARCHAR(100) DEFAULT NULL,
- `SqlScript` TEXT DEFAULT NULL,
- `SqlParametersJson` TEXT DEFAULT NULL,
- `TimeoutSeconds` INT NOT NULL DEFAULT 30,
- `PublishStatus` VARCHAR(20) NOT NULL DEFAULT 'DRAFT',
- `IsCurrent` TINYINT(1) NOT NULL DEFAULT 0,
- `Remark` TEXT DEFAULT NULL,
- `CreatedBy` VARCHAR(100) DEFAULT NULL,
- `CreatedAt` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
- `UpdatedBy` VARCHAR(100) DEFAULT NULL,
- `UpdatedAt` DATETIME DEFAULT NULL,
- `PublishedBy` VARCHAR(100) DEFAULT NULL,
- `PublishedAt` DATETIME DEFAULT NULL,
- `RetiredBy` VARCHAR(100) DEFAULT NULL,
- `RetiredAt` DATETIME DEFAULT NULL,
- PRIMARY KEY (`Id`),
- UNIQUE KEY `uk_kpi_calc_cfg_metric_ver` (`MetricCode`, `TenantId`, `VersionNo`),
- KEY `idx_kpi_calc_cfg_current` (`MetricCode`, `TenantId`, `IsCurrent`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='KPI 计算配置(SQL 配置化)';
- CREATE TABLE IF NOT EXISTS ado_smart_ops_kpi_calc_run_log (
- `Id` BIGINT NOT NULL AUTO_INCREMENT,
- `TenantId` BIGINT DEFAULT NULL,
- `BatchId` VARCHAR(100) NOT NULL,
- `ModuleCode` VARCHAR(20) NOT NULL,
- `MetricCode` VARCHAR(50) NOT NULL,
- `ConfigId` BIGINT DEFAULT NULL,
- `VersionNo` INT DEFAULT NULL,
- `EngineType` VARCHAR(20) NOT NULL,
- `DataSourceCode` VARCHAR(100) DEFAULT NULL,
- `BizDate` DATE NOT NULL,
- `StartedAt` DATETIME NOT NULL,
- `FinishedAt` DATETIME DEFAULT NULL,
- `DurationMs` BIGINT NOT NULL DEFAULT 0,
- `Status` VARCHAR(20) NOT NULL,
- `RowCount` INT NOT NULL DEFAULT 0,
- `MetricValue` DECIMAL(18,4) DEFAULT NULL,
- `NumeratorValue` DECIMAL(18,4) DEFAULT NULL,
- `DenominatorValue` DECIMAL(18,4) DEFAULT NULL,
- `ErrorCode` VARCHAR(50) DEFAULT NULL,
- `ErrorMessage` VARCHAR(500) DEFAULT NULL,
- `SqlHash` VARCHAR(64) DEFAULT NULL,
- `ParameterSnapshot` TEXT DEFAULT NULL,
- `TriggerType` VARCHAR(20) NOT NULL,
- `CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
- PRIMARY KEY (`Id`),
- UNIQUE KEY `uk_kpi_calc_run_metric_batch` (`MetricCode`, `BatchId`),
- KEY `idx_kpi_calc_run_metric_time` (`MetricCode`, `StartedAt`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='KPI 计算 SQL 运行日志';
- -- 种子 S5_L1_001 LEGACY_CODE v1(幂等:存在则跳过)。列名 PascalCase(EnableUnderLine=false)。
- INSERT INTO ado_smart_ops_kpi_calc_config
- (`TenantId`, `MetricCode`, `ModuleCode`, `VersionNo`, `CalcEngineType`, `TimeoutSeconds`, `PublishStatus`, `IsCurrent`, `Remark`, `CreatedBy`, `CreatedAt`)
- SELECT 797403760988229, 'S5_L1_001', 'S5', 1, 'LEGACY_CODE', 30, 'PUBLISHED', 1, 'S5_L1_001 初始 legacy 版本(向后兼容+回滚基线)', 'system', NOW()
- FROM DUAL
- WHERE NOT EXISTS (
- SELECT 1 FROM ado_smart_ops_kpi_calc_config
- WHERE `MetricCode`='S5_L1_001' AND `TenantId`=797403760988229 AND `VersionNo`=1
- );
|