17 lines
578 B
MySQL
17 lines
578 B
MySQL
|
|
CREATE TABLE IF NOT EXISTS audit_logs (
|
||
|
|
id UUID PRIMARY KEY,
|
||
|
|
user_id UUID,
|
||
|
|
action TEXT NOT NULL,
|
||
|
|
resource TEXT NOT NULL,
|
||
|
|
resource_id UUID,
|
||
|
|
ip_address TEXT,
|
||
|
|
user_agent TEXT,
|
||
|
|
metadata JSONB,
|
||
|
|
timestamp TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE INDEX IF NOT EXISTS idx_audit_logs_user_id ON audit_logs(user_id);
|
||
|
|
CREATE INDEX IF NOT EXISTS idx_audit_logs_action ON audit_logs(action);
|
||
|
|
CREATE INDEX IF NOT EXISTS idx_audit_logs_timestamp ON audit_logs(timestamp);
|
||
|
|
CREATE INDEX IF NOT EXISTS idx_audit_logs_ip_address ON audit_logs(ip_address);
|