CREATE TABLE IF NOT EXISTS audit_log ( id TEXT PRIMARY KEY, tenant_id TEXT NOT NULL, event_id TEXT NOT NULL, source_app TEXT NOT NULL DEFAULT 'bgp', action TEXT NOT NULL, severity TEXT NOT NULL DEFAULT 'info', actor_user_id TEXT, actor_email TEXT, actor_name TEXT, actor_api_key_prefix TEXT, target_type TEXT, target_id TEXT, summary TEXT NOT NULL, details_json TEXT, ip TEXT, created_at TEXT NOT NULL, portal_pushed_at TEXT ); CREATE UNIQUE INDEX IF NOT EXISTS idx_audit_log_event_id ON audit_log (event_id); CREATE INDEX IF NOT EXISTS idx_audit_log_tenant_created ON audit_log (tenant_id, created_at DESC); CREATE INDEX IF NOT EXISTS idx_audit_log_tenant_action ON audit_log (tenant_id, action, created_at DESC);