ether-pms/sql/audit_log.sql

59 lines
1.9 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.

-- 审计日志表
CREATE TABLE IF NOT EXISTS sys_audit_log (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
user_id UUID,
username VARCHAR(64) NOT NULL,
operation VARCHAR(128) NOT NULL,
module VARCHAR(64) NOT NULL,
action VARCHAR(64) NOT NULL,
target_type VARCHAR(64),
target_id VARCHAR(64),
content TEXT,
params TEXT,
result TEXT,
ip_address VARCHAR(64),
user_agent VARCHAR(512),
request_url VARCHAR(512),
request_method VARCHAR(16),
execution_time_ms INTEGER,
status VARCHAR(16) DEFAULT 'SUCCESS',
error_msg TEXT,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
tenant_id UUID
);
-- 创建索引
CREATE INDEX idx_audit_log_created_at ON sys_audit_log(created_at);
CREATE INDEX idx_audit_log_user_id ON sys_audit_log(user_id);
CREATE INDEX idx_audit_log_module ON sys_audit_log(module);
CREATE INDEX idx_audit_log_action ON sys_audit_log(action);
CREATE INDEX idx_audit_log_target ON sys_audit_log(target_type, target_id);
-- 归档表结构相同用于存储超过90天的数据
CREATE TABLE IF NOT EXISTS sys_audit_log_archive (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
user_id UUID,
username VARCHAR(64) NOT NULL,
operation VARCHAR(128) NOT NULL,
module VARCHAR(64) NOT NULL,
action VARCHAR(64) NOT NULL,
target_type VARCHAR(64),
target_id VARCHAR(64),
content TEXT,
params TEXT,
result TEXT,
ip_address VARCHAR(64),
user_agent VARCHAR(512),
request_url VARCHAR(512),
request_method VARCHAR(16),
execution_time_ms INTEGER,
status VARCHAR(16) DEFAULT 'SUCCESS',
error_msg TEXT,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
tenant_id UUID
);
-- 为归档表创建索引
CREATE INDEX idx_audit_archive_created_at ON sys_audit_log_archive(created_at);
CREATE INDEX idx_audit_archive_user_id ON sys_audit_log_archive(user_id);