cascade
authorJason Etheridge <phasefx@gmail.com>
Mon, 15 May 2023 13:54:22 +0000 (09:54 -0400)
committerJason Etheridge <phasefx@gmail.com>
Thu, 25 May 2023 16:45:33 +0000 (12:45 -0400)
Open-ILS/src/sql/Pg/005.schema.actors.sql
Open-ILS/src/sql/Pg/upgrade/YYYY.schema.org_unit_custom_node.sql [new file with mode: 0644]

index 1c6fb9d..6a26f47 100644 (file)
@@ -758,7 +758,7 @@ CREATE TABLE actor.org_unit_custom_tree_node (
     id              SERIAL  PRIMARY KEY,
     tree            INTEGER REFERENCES actor.org_unit_custom_tree (id) DEFERRABLE INITIALLY DEFERRED,
        org_unit        INTEGER NOT NULL REFERENCES actor.org_unit (id) DEFERRABLE INITIALLY DEFERRED,
-       parent_node     INTEGER REFERENCES actor.org_unit_custom_tree_node (id) DEFERRABLE INITIALLY DEFERRED,
+       parent_node     INTEGER REFERENCES actor.org_unit_custom_tree_node (id) CASCADE DEFERRABLE INITIALLY DEFERRED,
     sibling_order   INTEGER NOT NULL DEFAULT 0,
     CONSTRAINT aouctn_once_per_org UNIQUE (tree, org_unit)
 );
diff --git a/Open-ILS/src/sql/Pg/upgrade/YYYY.schema.org_unit_custom_node.sql b/Open-ILS/src/sql/Pg/upgrade/YYYY.schema.org_unit_custom_node.sql
new file mode 100644 (file)
index 0000000..66a2020
--- /dev/null
@@ -0,0 +1,14 @@
+BEGIN;
+
+SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
+
+ALTER TABLE actor.org_unit_custom_tree_node
+DROP CONSTRAINT org_unit_custom_tree_node_parent_node_fkey;
+
+ALTER TABLE actor.org_unit_custom_tree_node
+ADD CONSTRAINT org_unit_custom_tree_node_parent_node_fkey 
+FOREIGN KEY (parent_node) 
+REFERENCES actor.org_unit_custom_tree_node(id) 
+ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED;
+
+COMMIT;