このガイドでは、複数のユーザーアカウントを単一のDiscourseアカウントにマージする方法を説明します。Discourse UIを介した非スタッフユーザーのマージと、コンソールを介したスタッフユーザーのマージについて説明します。
必要なユーザーレベル:管理者
Discourseでユーザーアカウントをマージすると、複数のアカウントを1つにまとめることができます。このプロセスは、いくつかのシナリオで役立ちます。
- ユーザーが以前の登録を忘れて、複数のアカウントを作成した場合。
- ユーザーが既存のアカウントを更新する代わりに、新しいメールアドレスで新しいアカウントを作成した場合。
- ユーザーが複数の目的(例:個人用、ビジネス用、テスト用)で使用している複数のアカウントを単一のアカウントに統合したい場合。
非スタッフユーザーのマージ
管理者は、Discourse UIから直接非スタッフユーザーをマージできます。
この操作は元に戻せません。マージ後、ソースユーザーアカウントは削除されます。
2つの非スタッフユーザーをマージするには:
- ソースユーザー(マージ元のアカウント)のユーザー管理ページに移動します。
- ページの下部までスクロールします。
- 「マージ」ボタンをクリックします。
- ポップアップウィンドウで、ターゲットアカウント(マージ先のアカウント)のユーザー名を入力します。
- 「転送して削除」ボタンをクリックして、マージを開始します。
大規模なアカウントのマージはリソースを大量に消費する可能性があり、ソースユーザーに関連付けられているデータの量によっては、処理に時間がかかる場合があります。
何がマージされますか?
ユーザーアカウントをマージすると、Discourseは45個のテーブルからデータを結合します。これには以下が含まれます:
-投稿とトピック
-付与した、または受け取った「いいね!」
-プライベートメッセージ
-ユーザープロファイル情報
-ユーザーの好みと設定
-ユーザーのアクションとアクティビティ(例:ブックマーク、トピック表示)
-バッジと実績
-信頼レベルとグループメンバーシップ
競合が発生した場合、ターゲットユーザーの詳細が保持されます。両方のユーザーがアカウントに関連付けられた匿名ユーザーを持っていた場合、ソースユーザーが所有していた匿名ユーザーは失われます。
ソースユーザーを参照する着信リンク(例:https://discourse.example.com/t/some-topic/17/3?u=source_username)は、マージ後にターゲットユーザーに関連付けられません。
ユーザーマージとSSOに関する重要な注意点
ユーザーアカウントのマージは、実装によってはSSOに影響を与える可能性があります。
- SSOがメールアドレスに基づいている場合、ターゲットアカウントのメールがSSOシステムで使用されている限り、問題はありません。
- SSOシステムがDiscourseユーザーIDとは異なる一意のユーザーIDを使用している場合、ソースアカウントの一意のIDがターゲットアカウントに正しくマッピングされていないと、マージによって問題が発生する可能性があります。
スタッフユーザーのマージ
セキュリティ上の理由から、スタッフユーザーのマージはコンソール経由で行う必要があります。
Discourseでサイトをホストしている場合は、スタッフユーザーのマージについてteam@discourse.orgまでお問い合わせください。
コンソール経由でスタッフユーザーをマージするには:
root@host:/var/discourse# ./launcher enter app
root@host-app:/var/www/discourse# rake users:merge['source_username','target_username']
Users merged!
root@host-app:/var/www/discourse#
コマンドのコンマの前後にスペースがないことを確認してください。
よくある質問
Q: マージプロセスが停止しているように見える場合はどうなりますか?
A: マージの進行状況画面で長期間変更がない場合は、ページを更新してみてください。UIが更新されなかっただけで、マージが完了している可能性があります。
Q: ユーザーマージを元に戻すことはできますか?
A: いいえ、2人のユーザーがマージされると、その操作を元に戻すことはできません。ソースユーザーアカウントは、マージ後に永久に削除されます。
Q: ユーザーのマージは、投稿やトピックに影響しますか?
A: ソースユーザーのすべての投稿とトピックは、ターゲットユーザーに転送されます。これらのアイテムの作成者は、ターゲットユーザーが作成者として反映されるように変更されます。

