-- ===================================================================== -- 开放接口中心 网关库表(T0.9) -- 库:open_gateway(projman provision 建;本脚本由 T1.7 生产导入,可重复执行) -- 方言:MySQL -- ===================================================================== DROP TABLE IF EXISTS open_api_route; CREATE TABLE open_api_route ( id BIGINT AUTO_INCREMENT PRIMARY KEY, target_code VARCHAR(32) NOT NULL COMMENT '目标应用 ctx(usermsg/notice/...)', path_pattern VARCHAR(256) NOT NULL COMMENT 'Ant 风格;匹配剥掉 target 首段后的路径,如 /oapi/message/**', http_method VARCHAR(8) NOT NULL DEFAULT '*' COMMENT 'GET/POST/PUT/DELETE/*', visibility VARCHAR(16) NOT NULL DEFAULT 'INTERNAL' COMMENT 'INTERNAL/EXTERNAL', auth_mode VARCHAR(16) NOT NULL DEFAULT 'SIGNED' COMMENT 'SIGNED/ANON/OPTIONAL', cache_ttl_seconds INT NOT NULL DEFAULT 0, cache_scope VARCHAR(16) NOT NULL DEFAULT 'CALLER' COMMENT 'CALLER/GLOBAL', rate_limit_qps INT NOT NULL DEFAULT 0 COMMENT '0=不限', timeout_ms INT NOT NULL DEFAULT 30000, request_body_limit_mb INT NOT NULL DEFAULT 10, enabled TINYINT NOT NULL DEFAULT 1, remark VARCHAR(256), gmt_create DATETIME NOT NULL, gmt_modified DATETIME NOT NULL, UNIQUE KEY uk_route (target_code, path_pattern, http_method) ); DROP TABLE IF EXISTS open_api_log; CREATE TABLE open_api_log ( id BIGINT AUTO_INCREMENT PRIMARY KEY, ts DATETIME(3) NOT NULL, caller_app_key VARCHAR(64) COMMENT 'ANON 记 anonymous;401 且无 appKey 记 NULL', target_code VARCHAR(32) NOT NULL, method VARCHAR(8) NOT NULL, path VARCHAR(256) NOT NULL COMMENT '剥掉 target 首段后的路径(与注册表 path_pattern 同一坐标系)', status INT NOT NULL COMMENT '网关出口 HTTP 状态', backend_code INT COMMENT '提供方业务 code(响应为 JSON 信封时尽力解析,否则 NULL)', cost_ms INT NOT NULL, KEY idx_ts (ts), KEY idx_caller_ts (caller_app_key, ts), KEY idx_target_ts (target_code, ts) ); DROP TABLE IF EXISTS open_api_stat_daily; CREATE TABLE open_api_stat_daily ( id BIGINT AUTO_INCREMENT PRIMARY KEY, stat_date DATE NOT NULL, target_code VARCHAR(32) NOT NULL, caller_app_key VARCHAR(64) NOT NULL, total INT NOT NULL DEFAULT 0, err_total INT NOT NULL DEFAULT 0, avg_cost_ms INT NOT NULL DEFAULT 0, UNIQUE KEY uk_stat (stat_date, target_code, caller_app_key) );