-- ========================================== -- Switchboard Core — 006 Audit (SQLite) -- ========================================== CREATE TABLE IF NOT EXISTS audit_log ( id TEXT PRIMARY KEY, actor_id TEXT REFERENCES users(id) ON DELETE SET NULL, action TEXT NOT NULL, resource_type TEXT NOT NULL, resource_id TEXT, metadata TEXT DEFAULT '{}', ip_address TEXT, user_agent TEXT DEFAULT '', created_at TEXT DEFAULT (datetime('now')) ); CREATE INDEX IF NOT EXISTS idx_audit_log_created ON audit_log(created_at); CREATE INDEX IF NOT EXISTS idx_audit_log_actor ON audit_log(actor_id); CREATE INDEX IF NOT EXISTS idx_audit_log_resource ON audit_log(resource_type, resource_id); CREATE INDEX IF NOT EXISTS idx_audit_log_action ON audit_log(action);