Ссылки не работают после перемещения

После переезда на новый сервер многие внутренние ссылки на форуме перестали работать. Я создал новый сервер по временному адресу staging.example.com, чтобы облегчить переход, но теперь, когда переход завершен, многие ссылки на forum.example.com по-прежнему указывают на staging.example.com (который больше не существует).

Я проверил app.yml и выполнил пересборку:

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

Я поискал в разделе администрирования > настройки любые упоминания “staging”.

DNS-записи давно обновились.

Я нашел эту старую ссылку, но не уверен, имеет ли она отношение к проблеме.

Если исправление возможно только путем ручного редактирования, подскажите, пожалуйста, как найти все вхождения? Кнопка поиска работает для этого не очень хорошо.

Я это сделал. Всё отлично сработало, но теперь у меня неработающие ссылки.

То есть вы говорите, что remap и/или rebake не удалось?

Извините, я не делал перепривязку. Попробую сегодня вечером.

Да, теперь я могу сказать, что remap не удалась.

> /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) уже существует.
> remap была применена лишь частично из-за ошибки выше. Пожалуйста, запустите скрипт снова.

Я запустил его снова, как было указано, и получил ту же ошибку на том же ключе (topic_id, post_id, url).

Я могу зайти в rails console и выполнить некоторые SQL/ActiveRecord-запросы, если вы скажете, что именно запускать. Или использовать Data Explorer.

Кто-то другой должен будет помочь вам с этим, потому что я не уверен, почему у вас могут быть дублирующиеся значения ключей.

Иронично, что затронутая тема 8718 и пост 57455 находятся в личном сообщении между двумя пользователями, которые сожалеют о том, что ссылки нерабочие!

Но при использовании Data Explorer я вижу только один пост с ID 57455. Не знаю, почему remap жалуется.

В посте, вероятно, уже содержатся и старый, и новый URL. Просто отредактируйте его и удалите их.

Я почистил несколько постов и смог завершить переназначение. Однако пересборка дошла до 30%, после чего возникли ошибки, система зависла, и мне пришлось перезагрузиться. У системы достаточно памяти и места на диске.

Вопрос: После перезагрузки в утилите ‘top’ виден процесс Ruby, использующий 60% ЦП. Это задача Rake? Будет ли она возобновлена после перезагрузки?

Скорее всего, Sidekiq занят пересозданием. Перейдите на /sidekiq на вашем форуме, чтобы проверить.