Files
UserclassService/sqlscript/sys_operation_log.sql
T
2026-08-14 12:20:52 +08:00

27 lines
1.6 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- 系统审计日志表(双轨之审计轨,与业务日志表 operation_log 物理隔离)
CREATE TABLE `sys_operation_log` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`log_level` TINYINT NOT NULL COMMENT '1-重要(删除) 2-次要(新增/编辑) 3-一般(查询)',
`operation_type` VARCHAR(16) NOT NULL COMMENT 'DELETE/CREATE/UPDATE/QUERY',
`user_id` INT DEFAULT NULL COMMENT '操作人ID(来自UserContext)',
`user_name` VARCHAR(64) DEFAULT NULL COMMENT '操作人姓名(来自UserContext)',
`sch_id` INT DEFAULT NULL COMMENT '学校ID(多校隔离)',
`request_ip` VARCHAR(64) NOT NULL COMMENT '客户端IP',
`request_uri` VARCHAR(512) NOT NULL COMMENT '请求URI',
`request_method` VARCHAR(16) NOT NULL COMMENT 'HTTP方法',
`class_method` VARCHAR(512) NOT NULL COMMENT '类名.方法名',
`request_params` TEXT COMMENT '请求参数(脱敏后)',
`response_data` MEDIUMBLOB COMMENT 'GZIP压缩后的响应JSON',
`status_code` INT NOT NULL COMMENT '200成功 500异常',
`cost_time` BIGINT NOT NULL COMMENT '耗时ms',
`user_agent` VARCHAR(512) DEFAULT NULL,
`error_msg` TEXT COMMENT '异常信息(截断2000)',
`create_time` DATETIME(3) NOT NULL COMMENT '记录时间',
PRIMARY KEY (`id`),
KEY `idx_sol_create_time` (`create_time`),
KEY `idx_sol_user_time` (`user_id`, `create_time`),
KEY `idx_sol_sch_time` (`sch_id`, `create_time`),
KEY `idx_sol_uri_time` (`request_uri`, `create_time`),
KEY `idx_sol_level_time` (`log_level`, `create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统审计日志(HTTP接口级,全量记录)';