33 lines
1.8 KiB
MySQL
33 lines
1.8 KiB
MySQL
|
|
-- Running upgrade 6165691326d4 -> a45a8087831b
|
|||
|
|
|
|||
|
|
CREATE TABLE operation_logs (
|
|||
|
|
id BIGINT UNSIGNED NOT NULL COMMENT '主键ID' AUTO_INCREMENT,
|
|||
|
|
user_id BIGINT UNSIGNED COMMENT '操作人ID(账号删除后置空)',
|
|||
|
|
username VARCHAR(64) NOT NULL COMMENT '操作人用户名(冗余存储便于追溯)',
|
|||
|
|
module VARCHAR(64) NOT NULL COMMENT '所属模块,如 用户管理',
|
|||
|
|
action VARCHAR(32) NOT NULL COMMENT '操作类型:新增/修改/删除/导出',
|
|||
|
|
summary VARCHAR(255) NOT NULL COMMENT '操作摘要(中文,供人阅读)',
|
|||
|
|
method VARCHAR(8) COMMENT 'HTTP 方法',
|
|||
|
|
path VARCHAR(255) COMMENT '请求路径',
|
|||
|
|
ip VARCHAR(45) COMMENT '客户端IP(45位兼容IPv6)',
|
|||
|
|
user_agent VARCHAR(255) COMMENT '客户端User-Agent(截断存储)',
|
|||
|
|
request_data TEXT COMMENT '请求参数(已脱敏)',
|
|||
|
|
success TINYINT NOT NULL COMMENT '是否成功:1成功 0失败' DEFAULT '0',
|
|||
|
|
error_message VARCHAR(500) COMMENT '失败原因(写入方须截断)',
|
|||
|
|
duration_ms INTEGER COMMENT '处理耗时(毫秒)',
|
|||
|
|
create_time DATETIME NOT NULL COMMENT '创建时间' DEFAULT CURRENT_TIMESTAMP,
|
|||
|
|
CONSTRAINT pk_operation_logs PRIMARY KEY (id),
|
|||
|
|
CONSTRAINT fk_operation_logs_user_id FOREIGN KEY(user_id) REFERENCES users (id) ON DELETE SET NULL
|
|||
|
|
)CHARSET=utf8mb4 ENGINE=InnoDB COMMENT='操作日志表' COLLATE utf8mb4_general_ci;
|
|||
|
|
|
|||
|
|
CREATE INDEX idx_operation_logs_create_time ON operation_logs (create_time);
|
|||
|
|
|
|||
|
|
CREATE INDEX idx_operation_logs_module ON operation_logs (module);
|
|||
|
|
|
|||
|
|
CREATE INDEX idx_operation_logs_user_id ON operation_logs (user_id);
|
|||
|
|
|
|||
|
|
CREATE INDEX idx_operation_logs_username ON operation_logs (username);
|
|||
|
|
|
|||
|
|
UPDATE alembic_version SET version_num='a45a8087831b' WHERE alembic_version.version_num = '6165691326d4';
|
|||
|
|
|