移動後にリンクが切れました

新しいサーバーへの移行後、フォーラム内の多くのリンクが壊れています。移行を支援するため、一時的な URL staging.example.com に新しいサーバーを作成しましたが、移行が完了した現在も、forum.example.com の多くのリンクがもはや存在しない staging.example.com を指したままになっています。

app.yml を確認し、再構築を行いました:

containers/app.yml: DISCOURSE_HOSTNAME: forum.example.com

管理画面の設定で「staging」の名残がないか検索しました。

DNS の伝播はすでに完了しています。

この古い 参考情報 が見つかりましたが、関連があるかはわかりません。

手動での編集以外に解決策がない場合、すべての出現箇所を見つけるためのヒントはありますか?検索ボタンはこれにはうまく機能しません。

それをやりました。すべてうまくいったのですが、今はリンクが壊れています。

つまり、リマップまたはリベイクが失敗したということですか?

申し訳ありません、リマップは行いませんでした。今夜試してみます。

はい、リマップが失敗したと確信できます。

> /var/www/discourse# discourse remap staging.example.com forum.example.com
> staging.example.com を forum.example.com に書き換えています
> このタスクはデータを上書きします。本当に実行しますか(YES と入力してください)
> YES
> エラー: ERROR:  duplicate key value violates unique constraint "unique_post_links"
> DETAIL:  Key (topic_id, post_id, url)=(8718, 57455, https://forum.example.com/t/exampletopic/4606/336) が既に存在します。
> 上記のエラーにより、リマップは部分的にしか適用されませんでした。スクリプトを再度実行してください。

指示通り再度実行しましたが、同じエラー(同じ (topic_id, post_id, url) キー)が発生しました。

必要であれば、Rails コンソールに入って SQL や ActiveRecord を実行できます。Data Explorer を使うことも可能です。何を実行すればよいか教えていただけますか。

これは私には分かりませんので、誰か別の方にお願いしてください。なぜ重複するキー値が存在することになるのか、理由がはっきりしないためです。

皮肉なことに、問題のトピック8718と投稿57455は、リンクが壊れていると嘆く2人のユーザー間のPMに含まれています。

しかし、データエクスプローラーを使用すると、IDが57455の投稿が1つしかないことがわかります。なぜremapが文句を言っているのか、私にはわかりません。

投稿にはおそらく既に古い URL と新しい URL の両方が含まれています。編集してそれらを削除してください。

いくつかの投稿を整理し、マッピングの再設定を完了させることができました。ただし、リベイクは30%まで進んだところでエラーが発生し、システムがフリーズしたため、再起動する必要がありました。システムには十分なメモリとディスク容量があります。

質問:再起動後、'top’コマンドで60%のCPU使用率を示すrubyプロセスが確認されます。これはrakeジョブでしょうか?再起動後に再開されるでしょうか?

おそらく Sidekiq がリベイク処理で忙しいのでしょう。フォーラムの /sidekiq にアクセスして確認してください。