-- Content-addressed prefix snapshots (H2 expand). CREATE TABLE prefix_snapshot ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), content_hash CHAR(64) NOT NULL, created_at TIMESTAMPTZ NOT NULL DEFAULT now(), CONSTRAINT prefix_snapshot_hash_uniq UNIQUE (content_hash) ); CREATE TABLE prefix_snapshot_row ( snapshot_id UUID NOT NULL REFERENCES prefix_snapshot (id) ON DELETE CASCADE, ord INTEGER NOT NULL, prefix TEXT NOT NULL, community_id UUID REFERENCES bgp_community (id) ON DELETE SET NULL, source TEXT NOT NULL DEFAULT '', PRIMARY KEY (snapshot_id, ord) ); CREATE INDEX idx_prefix_snapshot_row_snapshot ON prefix_snapshot_row (snapshot_id); ALTER TABLE config_revision ADD COLUMN prefix_snapshot_id UUID REFERENCES prefix_snapshot (id) ON DELETE RESTRICT;