From fcbd49767b0404dc56a1e10b133e815d0fcc5564 Mon Sep 17 00:00:00 2001 From: "florian.azizian" <florian.azizian@maarch.org> Date: Wed, 4 Sep 2019 10:28:15 +0100 Subject: [PATCH] FIX #11641 TIME 0:30 fix 1912.sql --- migration/19.12/1912.sql | 37 +++++++++++++++++++++++-------------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/migration/19.12/1912.sql b/migration/19.12/1912.sql index 0b4b4b147fa..9fe988a331b 100644 --- a/migration/19.12/1912.sql +++ b/migration/19.12/1912.sql @@ -159,19 +159,29 @@ WITH (OIDS=FALSE); /* REFACTORING DATA */ -DELETE FROM usergroup_content WHERE group_id in (SELECT group_id FROM usergroups WHERE enabled = 'N'); -DELETE FROM usergroups_reports WHERE group_id in (SELECT group_id FROM usergroups WHERE enabled = 'N'); -DELETE FROM usergroups_services WHERE group_id in (SELECT group_id FROM usergroups WHERE enabled = 'N'); -DELETE FROM security WHERE group_id in (SELECT group_id FROM usergroups WHERE enabled = 'N'); -DELETE FROM groupbasket WHERE group_id in (SELECT group_id FROM usergroups WHERE enabled = 'N'); -DELETE FROM groupbasket_redirect WHERE group_id in (SELECT group_id FROM usergroups WHERE enabled = 'N'); -DELETE FROM groupbasket_status WHERE group_id in (SELECT group_id FROM usergroups WHERE enabled = 'N'); -DELETE FROM users_baskets_preferences WHERE group_serial_id in (SELECT id FROM usergroups WHERE enabled = 'N'); -DELETE FROM usergroups WHERE enabled = 'N'; -DELETE FROM actions_categories WHERE action_id in (SELECT id FROM actions WHERE enabled = 'N'); -DELETE FROM actions_groupbaskets WHERE id_action in (SELECT id FROM actions WHERE enabled = 'N'); -DELETE FROM groupbasket_redirect WHERE action_id in (SELECT id FROM actions WHERE enabled = 'N'); -DELETE FROM actions WHERE enabled = 'N'; +DO $$ BEGIN + IF (SELECT count(attname) FROM pg_attribute WHERE attrelid = (SELECT oid FROM pg_class WHERE relname = 'usergroups') AND attname = 'enabled') THEN + DELETE FROM usergroup_content WHERE group_id in (SELECT group_id FROM usergroups WHERE enabled = 'N'); + DELETE FROM usergroups_reports WHERE group_id in (SELECT group_id FROM usergroups WHERE enabled = 'N'); + DELETE FROM usergroups_services WHERE group_id in (SELECT group_id FROM usergroups WHERE enabled = 'N'); + DELETE FROM security WHERE group_id in (SELECT group_id FROM usergroups WHERE enabled = 'N'); + DELETE FROM groupbasket WHERE group_id in (SELECT group_id FROM usergroups WHERE enabled = 'N'); + DELETE FROM groupbasket_redirect WHERE group_id in (SELECT group_id FROM usergroups WHERE enabled = 'N'); + DELETE FROM groupbasket_status WHERE group_id in (SELECT group_id FROM usergroups WHERE enabled = 'N'); + DELETE FROM users_baskets_preferences WHERE group_serial_id in (SELECT id FROM usergroups WHERE enabled = 'N'); + DELETE FROM usergroups WHERE enabled = 'N'; + END IF; +END$$; + +DO $$ BEGIN + IF (SELECT count(attname) FROM pg_attribute WHERE attrelid = (SELECT oid FROM pg_class WHERE relname = 'actions') AND attname = 'enabled') THEN + DELETE FROM actions_categories WHERE action_id in (SELECT id FROM actions WHERE enabled = 'N'); + DELETE FROM actions_groupbaskets WHERE id_action in (SELECT id FROM actions WHERE enabled = 'N'); + DELETE FROM groupbasket_redirect WHERE action_id in (SELECT id FROM actions WHERE enabled = 'N'); + DELETE FROM actions WHERE enabled = 'N'; + END IF; +END$$; + DELETE FROM usergroups_services WHERE service_id = 'admin_fileplan'; DELETE FROM usergroups_services WHERE service_id = 'put_doc_in_fileplan'; DELETE FROM usergroups_services WHERE service_id = 'fileplan'; @@ -184,7 +194,6 @@ DELETE FROM usergroups_services WHERE service_id = 'add_cases'; /* OLD FOLDERS */ DROP VIEW IF EXISTS view_folders; DELETE FROM usergroups_services WHERE service_id IN ('folder_search', 'view_folder_tree', 'select_folder', 'show_history_folder', 'modify_folder', 'associate_folder', 'delete_folder', 'admin_foldertypes', 'create_folder', 'folder_freeze', 'close_folder'); -DELETE FROM notes WHERE origin = 'folder'; DROP TABLE IF EXISTS foldertypes; DROP TABLE IF EXISTS foldertypes_doctypes; DROP TABLE IF EXISTS foldertypes_doctypes_level1; -- GitLab