Таблицы prefix_snapshot и prefix_snapshot_row; колонка prefix_snapshot_id. Co-authored-by: Cursor <[email protected]>
23 lines
850 B
SQL
23 lines
850 B
SQL
-- 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 CIDR 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;
|