In the branch rel_1_6 version of 950.data.seed-values.sql [1], lines
138-142 create the OU setting
'circ.booking_reservation.default_elbow_room' via the query:

INSERT INTO actor.org_unit_setting (org_unit, name, value) VALUES (
           (SELECT id FROM actor.org_unit WHERE parent_ou IS NULL),
           'circ.booking_reservation.default_elbow_room',
           '"1 day"'
       );

However, it appears that actor.org_unit does not start to get
populated until line 853.  As such, the "SELECT id FROM actor.org_unit
WHERE parent_ou IS NULL" portion of the insert will return NULL, and
actor.org_unit_setting.org_unit has a 'NOT NULL' contraint - as such,
the insert fails.

The attached patch moves this chunk down to after the actor.org_unit
and actor.org_address work, but before the config.* work.

This bug also exists in branch rel_1_6_1 and tags rel_1_6_1_0 &
rel_1_6_1_1.  It does not appear to affect branch rel_1_6_0 or any
tags of rel_1_6_0_x.  It also does not appear to affect trunk (I
cannot find the string "booking_reservation" in the
950.data.seed-values.sql in trunk).

I've worked around the issue (in a 1.6.1.1 install I'm attempting) by
simply running the affected chunk by hand after the rest of the
seeding completes.

Thanks!
--Don

[1]: 
http://svn.open-ils.org/trac/ILS/browser/branches/rel_1_6/Open-ILS/src/sql/Pg/950.data.seed-values.sql
Index: branches/rel_1_6/Open-ILS/src/sql/Pg/950.data.seed-values.sql
===================================================================
--- branches/rel_1_6/Open-ILS/src/sql/Pg/950.data.seed-values.sql       (revision 16824)
+++ branches/rel_1_6/Open-ILS/src/sql/Pg/950.data.seed-values.sql       (working copy)
@@ -130,17 +130,6 @@
 
 SELECT SETVAL('config.copy_status_id_seq'::TEXT, 100);
 
--- In booking, elbow room defines:
---  a) how far in the future you must make a reservation on a given item if
---      that item will have to transit somewhere to fulfill the reservation.
---  b) how soon a reservation must be starting for the reserved item to
---      be op-captured by the checkin interface.
-INSERT INTO actor.org_unit_setting (org_unit, name, value) VALUES (
-    (SELECT id FROM actor.org_unit WHERE parent_ou IS NULL),
-    'circ.booking_reservation.default_elbow_room',
-    '"1 day"'
-);
-
 INSERT INTO config.net_access_level (id, name) VALUES 
     (1, oils_i18n_gettext(1, 'Filtered', 'cnal', 'name'));
 INSERT INTO config.net_access_level (id, name) VALUES 
@@ -874,6 +863,17 @@
 
 UPDATE actor.org_unit SET holds_address = 1, ill_address = 1, billing_address = 1, mailing_address = 1;
 
+-- In booking, elbow room defines:
+--  a) how far in the future you must make a reservation on a given item if
+--      that item will have to transit somewhere to fulfill the reservation.
+--  b) how soon a reservation must be starting for the reserved item to
+--      be op-captured by the checkin interface.
+INSERT INTO actor.org_unit_setting (org_unit, name, value) VALUES (
+    (SELECT id FROM actor.org_unit WHERE parent_ou IS NULL),
+    'circ.booking_reservation.default_elbow_room',
+    '"1 day"'
+);
+
 INSERT INTO config.billing_type (id, name, owner) VALUES
        ( 1, oils_i18n_gettext(1, 'Overdue Materials', 'cbt', 'name'), 1);
 INSERT INTO config.billing_type (id, name, owner) VALUES

Reply via email to