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

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

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

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

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

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

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

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

I did that. All worked great except now I have broken links.

So you’re saying the remap and/or rebake failed?

Sorry, I did not do a remap. I’ll try that tonight.

Yes, now I can say the remap failed.

> /var/www/discourse# discourse remap staging.example.com forum.example.com
> Rewriting all occurences of staging.example.com to forum.example.com
> THIS TASK WILL REWRITE DATA, ARE YOU SURE (type YES)
> YES
> Error: 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) already exists.
> The remap has only been partially applied due to the error above. Please re-run the script again.

I re-ran it as instructed and got the same error, on the same (topic_id, post_id, url) key.

I can get to the rails console and run some SQL/ActiveRecord if you can tell me what to run. Or Data Explorer.

Someone else will have to help you with this because I’m not sure why you would have duplicate key value.

Ironically, the offending topic 8718 and post 57455 is in a PM between two users lamenting that the links are broken!

But using data explorer, I see only one post with id 57455. I don’t know why remap is complaining.

The post probably contains both the old and new URL already. Just edit it and remove them.

I cleaned up a few posts and was able to complete the remap. However the rebake ran to 30% then encountered errors and hung the system and I had to reboot. System has adequate memory and disk space.

Question: After reboot, in ‘top’, there is a ruby process using 60% CPU. Is that the rake job? Would it resume after reboot?

It’s probably Sidekiq busy on rebakes. Go to /sidekiq on your forum to check.