veylant/migrations/000005_admin_audit_logs.up.sql
2026-02-23 13:35:04 +01:00

15 lines
531 B
SQL

-- Sprint 6: Admin actions audit log (PostgreSQL — low volume, GDPR delete required).
CREATE TABLE admin_audit_logs (
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
tenant_id TEXT NOT NULL,
actor_user_id TEXT NOT NULL,
action TEXT NOT NULL,
resource_type TEXT NOT NULL,
resource_id TEXT,
before_state JSONB,
after_state JSONB,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE INDEX idx_admin_audit_tenant ON admin_audit_logs(tenant_id, created_at DESC);