diff --git a/01-paths-indexes.sql b/01-paths-indexes.sql index ad2bfdef44ee5eb0b07ae4be98d37a024ed2aafd..9b6c2fc4e66fa57d50806dd2eabbbcfb46516ca1 100644 --- a/01-paths-indexes.sql +++ b/01-paths-indexes.sql @@ -37,6 +37,7 @@ ALTER TABLE node ADD COLUMN relative_path ltree GENERATED ALWAYS AS (path(parent CREATE INDEX file_rel_path_gist_idx ON node USING GIST(relative_path); ALTER TABLE node ADD CONSTRAINT unique_path UNIQUE (parent_path, name); +ALTER TABLE node ADD CONSTRAINT fk_parent_path FOREIGN KEY (parent_path) REFERENCES node(path); -- Create root node INSERT INTO node (parent_path, parent_relative_path, name, type, creator_id, is_public) VALUES (NULL, NULL, '', 'container', '0', true); diff --git a/dump_and_restore/path-indexes.sql b/dump_and_restore/path-indexes.sql index b5f7e90686fc465a65bd0c0f2765ceedaba94222..84270aaa1839084f07389856dfb20cc1bc15f11e 100644 --- a/dump_and_restore/path-indexes.sql +++ b/dump_and_restore/path-indexes.sql @@ -4,3 +4,5 @@ CREATE UNIQUE INDEX file_path_idx ON node USING btree(path); ALTER TABLE node ADD COLUMN relative_path ltree GENERATED ALWAYS AS (path(parent_relative_path, node_id)) STORED; CREATE INDEX file_rel_path_gist_idx ON node USING GIST(relative_path); + +ALTER TABLE node ADD CONSTRAINT fk_parent_path FOREIGN KEY (parent_path) REFERENCES node(path);