From ef1d9593715ce5f0c541b037b72e73eb20da35d9 Mon Sep 17 00:00:00 2001 From: Dan Scott Date: Thu, 29 Dec 2011 13:33:38 -0500 Subject: [PATCH] Prevent permission group conflicts in 2.1 upgrade script The 2.0-2.1 upgrade script relies on pinned IDs for permission.grp_tree entries, which might conflict with custom permission groups that a site might have added previously. A little manipulation can make life safe for the pinned IDs. Signed-off-by: Dan Scott Signed-off-by: Mike Rylander --- Open-ILS/src/sql/Pg/version-upgrade/2.0-2.1-upgrade-db.sql | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Open-ILS/src/sql/Pg/version-upgrade/2.0-2.1-upgrade-db.sql b/Open-ILS/src/sql/Pg/version-upgrade/2.0-2.1-upgrade-db.sql index 92d7dd3c0c..50fb17805c 100644 --- a/Open-ILS/src/sql/Pg/version-upgrade/2.0-2.1-upgrade-db.sql +++ b/Open-ILS/src/sql/Pg/version-upgrade/2.0-2.1-upgrade-db.sql @@ -5715,6 +5715,18 @@ INSERT INTO permission.perm_list -- add new perms AND catch up on some missed upgrade data, if needed +-- Prevent conflicts with existing custom permission groups; as of 2.0.10, +-- highest permission.grp_tree ID was 10 for Local System Administrator +UPDATE permission.grp_tree SET id = id + 100 WHERE id > 10; +UPDATE permission.grp_tree SET parent = parent + 100 WHERE parent > 10; +UPDATE actor.usr SET profile = profile + 100 WHERE profile > 10; +UPDATE permission.grp_perm_map SET grp = grp + 100 WHERE grp > 10; +UPDATE permission.usr_grp_map SET grp = grp + 100 WHERE grp > 10; +UPDATE permission.grp_penalty_threshold SET grp = grp + 100 WHERE grp > 10; +UPDATE config.circ_matrix_matchpoint SET grp = grp + 100 WHERE grp > 10; +UPDATE config.hold_matrix_matchpoint SET requestor_grp = requestor_grp + 100 WHERE requestor_grp > 10; +UPDATE config.hold_matrix_matchpoint SET usr_grp = usr_grp + 100 WHERE usr_grp > 10; + -- we could get away from these fixed-id inserts here, but then this -- upgrade would be ahead of the mainline, I think -- 2.11.0