-- V68: 为审计日志添加不可篡改机制字段
-- 添加哈希链字段以实现日志防篡改

-- 添加上一条日志的哈希值
ALTER TABLE sys_audit_log ADD COLUMN IF NOT EXISTS prev_hash VARCHAR(64) DEFAULT '';

-- 添加当前日志的事件哈希值
ALTER TABLE sys_audit_log ADD COLUMN IF NOT EXISTS event_hash VARCHAR(64) DEFAULT '';

-- 添加数字签名（用于更高级别的篡改检测）
ALTER TABLE sys_audit_log ADD COLUMN IF NOT EXISTS signature VARCHAR(256) DEFAULT '';

-- 添加序列号（用于保证日志顺序）
ALTER TABLE sys_audit_log ADD COLUMN IF NOT EXISTS sequence_num BIGINT DEFAULT 0;

-- 添加时间戳（高精度时间）
ALTER TABLE sys_audit_log ADD COLUMN IF NOT EXISTS timestamp BIGINT DEFAULT 0;

-- 创建索引以加速哈希链验证
CREATE INDEX IF NOT EXISTS idx_audit_log_sequence ON sys_audit_log(sequence_num);
CREATE INDEX IF NOT EXISTS idx_audit_log_prev_hash ON sys_audit_log(prev_hash);
CREATE INDEX IF NOT EXISTS idx_audit_log_event_hash ON sys_audit_log(event_hash);
