]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/sql/Pg/upgrade/1039.data.change_default_match_set_ous_type.sql
LP#1917826: tweaks to data update
[Evergreen.git] / Open-ILS / src / sql / Pg / upgrade / 1039.data.change_default_match_set_ous_type.sql
1 BEGIN;
2
3 SELECT evergreen.upgrade_deps_block_check('1039', :eg_version); -- jeffdavis/gmcharlt
4
5 UPDATE config.org_unit_setting_type
6 SET datatype = 'link', fm_class = 'vms'
7 WHERE name = 'vandelay.default_match_set'
8 AND   datatype = 'string'
9 AND   fm_class IS NULL;
10
11 \echo Existing vandelay.default_match_set that do not
12 \echo correspond to match sets
13 SELECT aou.shortname, aous.value
14 FROM   actor.org_unit_setting aous
15 JOIN   actor.org_unit aou ON (aou.id = aous.org_unit)
16 WHERE  aous.name = 'vandelay.default_match_set'
17 AND    (
18   value !~ '^"[0-9]+"$'
19   OR
20     oils_json_to_text(aous.value)::INT NOT IN (
21       SELECT id FROM vandelay.match_set
22     )
23 );
24
25 \echo And now deleting the bad values, as otherwise they
26 \echo will break the Library Settings Editor.
27 DELETE
28 FROM actor.org_unit_setting aous
29 WHERE  aous.name = 'vandelay.default_match_set'
30 AND    (
31   value !~ '^"[0-9]+"$'
32   OR
33     oils_json_to_text(aous.value)::INT NOT IN (
34       SELECT id FROM vandelay.match_set
35     )
36 );
37
38 COMMIT;