-- 替换审计/登录日志为统一 API 请求日志表 -- 执行前请备份。旧表数据如需保留请先自行导出。 SET NAMES utf8mb4; DROP TABLE IF EXISTS `sys_login_log_his`; DROP TABLE IF EXISTS `sys_login_log`; DROP TABLE IF EXISTS `sys_audit_log_his`; DROP TABLE IF EXISTS `sys_audit_log`; CREATE TABLE `sys_api_request_log` ( `id` varchar(32) NOT NULL COMMENT '主键ID', `http_method` varchar(10) NOT NULL COMMENT 'HTTP 方法', `path` varchar(500) NOT NULL COMMENT '请求路径', `query_string` varchar(2000) DEFAULT NULL COMMENT 'Query 字符串', `request_body` text COMMENT '请求体(截断)', `response_body` text COMMENT '响应体(截断)', `status_code` int NOT NULL COMMENT 'HTTP 状态码', `duration_ms` int NOT NULL COMMENT '耗时(ms)', `user_id` varchar(32) DEFAULT NULL COMMENT '用户ID', `username` varchar(100) DEFAULT NULL COMMENT '用户名', `role` varchar(20) DEFAULT NULL COMMENT '角色', `ip_address` varchar(50) DEFAULT NULL COMMENT 'IP地址', `user_agent` varchar(500) DEFAULT NULL COMMENT 'User-Agent', `is_del` tinyint NOT NULL DEFAULT 0 COMMENT '是否删除', `create_at` datetime NOT NULL COMMENT '创建时间', `create_by` varchar(32) DEFAULT NULL COMMENT '创建人ID', `create_name` varchar(100) DEFAULT NULL COMMENT '创建人姓名', `update_at` datetime DEFAULT NULL COMMENT '修改时间', `update_by` varchar(32) DEFAULT NULL COMMENT '修改人ID', PRIMARY KEY (`id`), KEY `idx_api_req_create_at` (`create_at`), KEY `idx_api_req_path` (`path`(191)) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='API请求日志'; CREATE TABLE `sys_api_request_log_his` ( `id` varchar(32) NOT NULL COMMENT '主键ID', `http_method` varchar(10) NOT NULL COMMENT 'HTTP 方法', `path` varchar(500) NOT NULL COMMENT '请求路径', `query_string` varchar(2000) DEFAULT NULL COMMENT 'Query 字符串', `request_body` text COMMENT '请求体(截断)', `response_body` text COMMENT '响应体(截断)', `status_code` int NOT NULL COMMENT 'HTTP 状态码', `duration_ms` int NOT NULL COMMENT '耗时(ms)', `user_id` varchar(32) DEFAULT NULL COMMENT '用户ID', `username` varchar(100) DEFAULT NULL COMMENT '用户名', `role` varchar(20) DEFAULT NULL COMMENT '角色', `ip_address` varchar(50) DEFAULT NULL COMMENT 'IP地址', `user_agent` varchar(500) DEFAULT NULL COMMENT 'User-Agent', `create_at` datetime NOT NULL COMMENT '创建时间', `create_by` varchar(32) DEFAULT NULL COMMENT '创建人ID', `create_name` varchar(100) DEFAULT NULL COMMENT '创建人姓名', `update_at` datetime DEFAULT NULL COMMENT '修改时间', `update_by` varchar(32) DEFAULT NULL COMMENT '修改人ID', `his_create_at` datetime NOT NULL COMMENT '历史记录创建时间', PRIMARY KEY (`id`,`his_create_at`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='API请求日志历史'; -- 菜单:删除旧两项,保留「日志管理」下单一子菜单(复用原审计日志 id) DELETE FROM `sys_menu` WHERE `id` IN ('10000000000000000000000000000052'); UPDATE `sys_menu` SET `name` = '接口日志', `code` = 'api_request_log', `path` = '/api-request-log', `component` = 'api-request-log/index', `icon` = 'DataLine', `sort_order` = 1 WHERE `id` = '10000000000000000000000000000051';