26 lines
745 B
MySQL
26 lines
745 B
MySQL
|
|
-- Versioned snapshots per region/permit/risk tuple.
|
||
|
|
|
||
|
|
BEGIN;
|
||
|
|
|
||
|
|
CREATE TABLE IF NOT EXISTS public.permit_risk_snapshots (
|
||
|
|
snapshot_id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
|
||
|
|
region_id uuid NOT NULL,
|
||
|
|
permit_id uuid NOT NULL,
|
||
|
|
risk_id uuid NOT NULL,
|
||
|
|
permit_risk_key text NOT NULL,
|
||
|
|
version integer NOT NULL,
|
||
|
|
payload jsonb NOT NULL,
|
||
|
|
edited_by text,
|
||
|
|
change_summary text,
|
||
|
|
created_at timestamptz NOT NULL DEFAULT now()
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE UNIQUE INDEX IF NOT EXISTS permit_risk_snapshots_region_permit_risk_version_idx
|
||
|
|
ON public.permit_risk_snapshots (region_id, permit_id, risk_id, version);
|
||
|
|
|
||
|
|
CREATE INDEX IF NOT EXISTS permit_risk_snapshots_key_idx
|
||
|
|
ON public.permit_risk_snapshots (permit_risk_key);
|
||
|
|
|
||
|
|
COMMIT;
|
||
|
|
|