LP2011434 (follow-up): use NOT VALID / VALIDATE CONSTRAINT pattern to minimize lockin...
[evergreen-equinox.git] / Open-ILS / src / sql / Pg / upgrade / xxxx.schema.function-selection-ou-fkey.sql
1 BEGIN;
2
3 SELECT evergreen.upgrade_deps_block_check('xxxx', :eg_version);
4
5 UPDATE action.hold_request 
6 SET selection_ou = request_lib
7 WHERE selection_ou NOT IN (
8     SELECT id FROM actor.org_unit
9 );
10
11 ALTER TABLE action.hold_request ADD CONSTRAINT hold_request_selection_ou_fkey FOREIGN KEY (selection_ou) REFERENCES actor.org_unit (id) DEFERRABLE INITIALLY DEFERRED NOT VALID;
12 ALTER TABLE action.hold_request VALIDATE CONSTRAINT hold_request_selection_ou_fkey;
13
14 COMMIT;