Add CW MARS Custom 3.7.3 to 3.7.4 Database Upgrade
authorJason Stephenson <jstephenson@cwmars.org>
Fri, 10 Mar 2023 18:25:44 +0000 (13:25 -0500)
committerJason Stephenson <jason@sigio.com>
Fri, 10 Mar 2023 18:25:44 +0000 (13:25 -0500)
It updates config.upgrade_log with version 3.7.4 and adds new members
Becket and Chester to the org. unit and related tables.

Signed-off-by: Jason Stephenson <jstephenson@cwmars.org>
Open-ILS/src/sql/Pg/version-upgrade/cwmars-3.7.3-3.7.4-upgrade-db.sql [new file with mode: 0644]

diff --git a/Open-ILS/src/sql/Pg/version-upgrade/cwmars-3.7.3-3.7.4-upgrade-db.sql b/Open-ILS/src/sql/Pg/version-upgrade/cwmars-3.7.3-3.7.4-upgrade-db.sql
new file mode 100644 (file)
index 0000000..76c1c60
--- /dev/null
@@ -0,0 +1,174 @@
+--Upgrade Script for 3.7.3 to 3.7.4
+\set eg_version '''3.7.4'''
+BEGIN;
+INSERT INTO config.upgrade_log (version, applied_to) VALUES ('3.7.4', :eg_version);
+COMMIT;
+
+-- Beginning of appended code.
+\qecho Add Becket Library
+DO
+$$
+DECLARE
+    parent_id INTEGER;
+    ou_id INTEGER;
+    addr_id INTEGER;
+BEGIN
+
+INSERT INTO actor.org_unit
+(name, shortname, ou_type, parent_ou, opac_visible)
+VALUES
+('Becket', 'BECKET_MA', 3, 146, FALSE)
+RETURNING id INTO parent_id;
+
+INSERT INTO actor.org_unit
+(name, shortname, ou_type, parent_ou, phone)
+VALUES
+('Becket Athenaeum', 'BECKET', 4, parent_id, '413-623-5483')
+RETURNING id INTO ou_id;
+
+INSERT INTO actor.org_address
+(valid,address_type,org_unit,street1,street2,city,county,state,country,post_code)
+VALUES
+('t','PHYSICAL ADDRESS',ou_id,'3367 MAIN ST','P.O. BOX 9','BECKET','BERKSHIRE','MA','US','01223')
+RETURNING id INTO addr_id;
+
+UPDATE actor.org_unit
+SET billing_address = addr_id
+WHERE id = ou_id;
+
+INSERT INTO actor.org_address
+(valid,address_type,org_unit,street1,street2,city,county,state,country,post_code)
+VALUES
+('t','HOLDS ADDRESS',ou_id,'3367 MAIN ST','P.O. BOX 9','BECKET','BERKSHIRE','MA','US','01223')
+RETURNING id INTO addr_id;
+
+UPDATE actor.org_unit
+SET holds_address = addr_id
+WHERE id = ou_id;
+
+INSERT INTO actor.org_address
+(valid,address_type,org_unit,street1,street2,city,county,state,country,post_code)
+VALUES
+('t','MAILING ADDRESS',ou_id,'3367 MAIN ST','P.O. BOX 9','BECKET','BERKSHIRE','MA','US','01223')
+RETURNING id INTO addr_id;
+
+UPDATE actor.org_unit
+SET mailing_address = addr_id
+WHERE id = ou_id;
+
+INSERT INTO actor.org_address
+(valid,address_type,org_unit,street1,street2,city,county,state,country,post_code)
+VALUES
+('t','ILL ADDRESS',ou_id,'3367 MAIN ST','P.O. BOX 9','BECKET','BERKSHIRE','MA','US','01223')
+RETURNING id INTO addr_id;
+
+UPDATE actor.org_unit
+SET ill_address = addr_id
+WHERE id = ou_id;
+
+UPDATE actor.org_unit_custom_tree_node
+SET sibling_order = sibling_order + 1
+WHERE parent_node = 10722
+AND sibling_order >= 12;
+
+INSERT INTO actor.org_unit_custom_tree_node
+(tree, org_unit, parent_node, sibling_order)
+VALUES
+(1, ou_id, 10722, 12);
+
+INSERT INTO cwmars_dashboard.barcode_prefix (org_unit, prefix, prefix_stub)
+VALUES
+(parent_id, '20544', '20544'),
+(parent_id, '50544', '50544');
+
+INSERT INTO actor.org_unit_setting
+(org_unit, name, value)
+VALUES
+(parent_id, 'lib.ecard_barcode_prefix', '"50544"');
+
+END
+$$;
+
+\qecho Add Chester Library
+DO
+$$
+DECLARE
+    parent_id INTEGER;
+    ou_id INTEGER;
+    addr_id INTEGER;
+BEGIN
+
+INSERT INTO actor.org_unit
+(name, shortname, ou_type, parent_ou, opac_visible)
+VALUES
+('Chester', 'CHESTER_MA', 3, 146, FALSE)
+RETURNING id INTO parent_id;
+
+INSERT INTO actor.org_unit
+(name, shortname, ou_type, parent_ou, phone)
+VALUES
+('Chester Hamilton Memorial Library', 'CHESTER', 4, parent_id, '413-512-5206')
+RETURNING id INTO ou_id;
+
+INSERT INTO actor.org_address
+(valid,address_type,org_unit,street1,city,county,state,country,post_code)
+VALUES
+('t','PHYSICAL ADDRESS',ou_id,'195 ROUTE 20','CHESTER','HAMPDEN','MA','US','01011-9648')
+RETURNING id INTO addr_id;
+
+UPDATE actor.org_unit
+SET billing_address = addr_id
+WHERE id = ou_id;
+
+INSERT INTO actor.org_address
+(valid,address_type,org_unit,street1,city,county,state,country,post_code)
+VALUES
+('t','HOLDS ADDRESS',ou_id,'195 ROUTE 20','CHESTER','HAMPDEN','MA','US','01011-9648')
+RETURNING id INTO addr_id;
+
+UPDATE actor.org_unit
+SET holds_address = addr_id
+WHERE id = ou_id;
+
+INSERT INTO actor.org_address
+(valid,address_type,org_unit,street1,city,county,state,country,post_code)
+VALUES
+('t','MAILING ADDRESS',ou_id,'195 ROUTE 20','CHESTER','HAMPDEN','MA','US','01011-9648')
+RETURNING id INTO addr_id;
+
+UPDATE actor.org_unit
+SET mailing_address = addr_id
+WHERE id = ou_id;
+
+INSERT INTO actor.org_address
+(valid,address_type,org_unit,street1,city,county,state,country,post_code)
+VALUES
+('t','ILL ADDRESS',ou_id,'195 ROUTE 20','CHESTER','HAMPDEN','MA','US','01011-9648')
+RETURNING id INTO addr_id;
+
+UPDATE actor.org_unit
+SET ill_address = addr_id
+WHERE id = ou_id;
+
+UPDATE actor.org_unit_custom_tree_node
+SET sibling_order = sibling_order + 1
+WHERE parent_node = 10722
+AND sibling_order > 27;
+
+INSERT INTO actor.org_unit_custom_tree_node
+(tree, org_unit, parent_node, sibling_order)
+VALUES
+(1, ou_id, 10722, 28);
+
+INSERT INTO cwmars_dashboard.barcode_prefix (org_unit, prefix, prefix_stub)
+VALUES
+(parent_id, '20546', '20546'),
+(parent_id, '50546', '50546');
+
+INSERT INTO actor.org_unit_setting
+(org_unit, name, value)
+VALUES
+(parent_id, 'lib.ecard_barcode_prefix', '"50546"');
+
+END
+$$;