23 lines
1.1 KiB
Go
23 lines
1.1 KiB
Go
CREATE TABLE IF NOT EXISTS im_audit_logs (
|
|
id BIGINT NOT NULL AUTO_INCREMENT,
|
|
actor_uid BIGINT NOT NULL DEFAULT 0,
|
|
actor_role VARCHAR(64) NOT NULL DEFAULT '',
|
|
action VARCHAR(128) NOT NULL,
|
|
target_type VARCHAR(64) NOT NULL DEFAULT '',
|
|
target_id VARCHAR(128) NOT NULL DEFAULT '',
|
|
before_snapshot JSON,
|
|
after_snapshot JSON,
|
|
reason VARCHAR(512) NOT NULL DEFAULT '',
|
|
request_id VARCHAR(64) NOT NULL DEFAULT '',
|
|
ip VARCHAR(64) NOT NULL DEFAULT '',
|
|
user_agent VARCHAR(512) NOT NULL DEFAULT '',
|
|
metadata JSON,
|
|
created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
PRIMARY KEY (id),
|
|
INDEX idx_im_audit_logs_actor (actor_uid, id DESC),
|
|
INDEX idx_im_audit_logs_action (action, id DESC),
|
|
INDEX idx_im_audit_logs_target (target_type, target_id, id DESC),
|
|
INDEX idx_im_audit_logs_request (request_id),
|
|
INDEX idx_im_audit_logs_created (created_at, id DESC)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='IM租户审计日志';
|