first MVP
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
-- Enforce undirected connection uniqueness and prevent self-edges
|
||||
|
||||
-- Prevent self-edge (A == B)
|
||||
ALTER TABLE "Connection"
|
||||
ADD CONSTRAINT "Connection_no_self_edge"
|
||||
CHECK ("personAId" <> "personBId");
|
||||
|
||||
-- Unique undirected pair using functional index on LEAST/GREATEST
|
||||
-- Ensures only one edge exists for a given unordered pair {A,B}
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS "Connection_undirected_pair_unique"
|
||||
ON "Connection" (
|
||||
(LEAST("personAId","personBId")),
|
||||
(GREATEST("personAId","personBId"))
|
||||
);
|
||||
Reference in New Issue
Block a user