Skip to content

Instantly share code, notes, and snippets.

@ssbarnea
Last active February 3, 2016 17:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ssbarnea/0e6d669c8e247c3d7109 to your computer and use it in GitHub Desktop.
Save ssbarnea/0e6d669c8e247c3d7109 to your computer and use it in GitHub Desktop.
crowd_remove_directory.sql
/*
PostgreSQL SQL command that removes and entire Crowd directory from the database.
That's quite a common workaround for Crowd bugs like https://jira.atlassian.com/browse/CWD-4606
Usage: replace the number on the first SELECT with the directory_id that you want to remove from your Crowd instance.
Don't forget to restart Crowd after this.
Tested with Crowd 2.8.3
*/
BEGIN;
select 7274497::int as mydir into temp table myvars;
delete from cwd_token
where directory_id = (select mydir from myvars);
delete from cwd_user_attribute
where directory_id = (select mydir from myvars);
delete from cwd_user_attribute
where user_id in (select id from cwd_user where directory_id = (select mydir from myvars));
delete from cwd_membership
where child_id
in (select id from cwd_user where directory_id = (select mydir from myvars));
delete from cwd_app_dir_operation
where app_dir_mapping_id
in (select id from cwd_app_dir_mapping where directory_id = (select mydir from myvars));
delete from cwd_granted_perm
where group_mapping in (SELECT id from cwd_app_dir_group_mapping WHERE directory_id = (select mydir from myvars));
delete from cwd_app_dir_group_mapping
where directory_id = (select mydir from myvars);
delete from cwd_app_dir_mapping where directory_id = (select mydir from myvars);
delete from cwd_user
where directory_id = (select mydir from myvars);
delete from cwd_membership
where directory_id = (select mydir from myvars);
delete from cwd_group_attribute
where directory_id = (select mydir from myvars);
delete from cwd_group
where directory_id = (select mydir from myvars);
delete from cwd_directory_operation
where directory_id = (select mydir from myvars);
delete from cwd_directory_attribute
where directory_id = (select mydir from myvars);
delete from cwd_directory
where id = (select mydir from myvars);
END;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment