データベース経由で Confluence からユーザー ディレクトリを取り除く方法
プラットフォームについて: Data Center - この記事は、Data Center プラットフォームのアトラシアン製品に適用されます。
このナレッジベース記事は製品の Data Center バージョン用に作成されています。Data Center 固有ではない機能の Data Center ナレッジベースは、製品のサーバー バージョンでも動作する可能性はありますが、テストは行われていません。サーバー*製品のサポートは 2024 年 2 月 15 日に終了しました。サーバー製品を利用している場合は、アトラシアンのサーバー製品のサポート終了のお知らせページにて移行オプションをご確認ください。
*Fisheye および Crucible は除く
目的
Confluence からユーザー ディレクトリを取り除くときにエラーが発生する場合があります。このような状況での唯一の回避策は、データベースからディレクトリを手動で取り除くことです。
ソリューション
データベースを変更する前には必ずデータをバックアップするようにします。
まず、[Confluence 管理] > [ユーザー ディレクトリ] に移動し、取り除きたいディレクトリをディレクトリ一覧の最下部に動かします。次に Confluence をシャットダウンし、Confluence データベースで次のコマンドを実行します。
次のクエリを実行して、取り除くディレクトリのディレクトリ ID を特定します。
SELECT * FROM cwd_directory;
次のコマンドを実行し、以下の順序でディレクトリを削除します (<directoryid> を上記のクエリで取得したディレクトリ ID で置き換えます)。
DELETE FROM cwd_app_dir_operation WHERE app_dir_mapping_id IN (SELECT id FROM cwd_app_dir_mapping WHERE directory_id = <directoryid>);
DELETE FROM cwd_app_dir_mapping WHERE directory_id = <directoryid>;
DELETE FROM cwd_directory_attribute WHERE directory_id = <directoryid>;
DELETE FROM cwd_membership WHERE parent_id IN (SELECT id FROM cwd_group WHERE directory_id = <directoryID>) OR child_group_id IN (SELECT id FROM cwd_group WHERE directory_id = <directoryID>) OR child_user_id IN (SELECT id FROM cwd_user WHERE directory_id = <directoryID>);
DELETE FROM cwd_group WHERE directory_id = <directoryID>;
DELETE FROM cwd_user_attribute WHERE directory_id = <directoryID>;
DELETE FROM cwd_user WHERE directory_id = <directoryID>;
DELETE FROM cwd_directory_operation WHERE directory_id = <directoryID>;
DELETE FROM cwd_synchronisation_status WHERE directory_id = <CROWD_directoryID>;
DELETE FROM cwd_directory WHERE id = <directoryID>;
cwd_app_dir_mapping テーブルのlist_index 列を確認します。
select list_index,id from cwd_app_dir_mapping;
list_index 列の値に数字が適切に含まれていることを確認します。たとえば次の list_index の結果の数字は適切なものではありません。list_index に数字 0、3、1 が含まれていることがわかります。数字
2
が不足しています。list_index
ID
0 214324324 3 353453456 1 435456556 このような結果が確認された場合は list_index を次のように更新します。
update cwd_app_dir_mapping set list_index = <number> where id = <directory_id>
list_index の更新後は次のようになります
list_index
ID
0 214324324 2 353453456 1 435456556 - Confluence を起動します。