Сбой `discourse remap`

Я только что перенёс форум с name.com на forum.name.com, но это не удалось:

Error: ERROR: duplicate key value violates unique constraint “unique_post_links”
DETAIL: Key (topic_id, post_id, url)=(246, 813, http://forum.name.com) уже существует.
Переназначение выполнено лишь частично из-за ошибки выше. Пожалуйста, запустите скрипт снова.

Поэтому я запустил его ещё раз (ошибка повторилась), затем выполнил rake posts:rebake и проверил форум — обнаружил несколько случаев с forum.forum.name.com. (Тогда я выполнил discourse remap forum.forum.name.com forum.name.com и rake posts:rebake, чтобы попытаться исправить это — с некоторым успехом; некоторые случаи пришлось изменить вручную).

У меня есть несколько вопросов:

  • Применяется ли discourse remap name.com forum.name.com только к содержимому постов? Если нет, достаточно ли проверить только настройки сайта (Site Settings), чтобы найти возможные проблемы?
  • Следует ли запускать эту команду в рамках транзакции? (Если да, то в моём случае при ошибке это, похоже, не было выполнено).

Нет, это применяется ко всей базе данных. Посты, настройки сайта, темы, загрузки — всё.

Ага, посмотрев ещё раз на полную ошибку, похоже, что прошли следующие этапы:

backup_metadata=1
categories=6
email_logs=306
email_tokens=1
groups=1
incoming_domains=3
incoming_emails=3
javascript_caches=4
post_custom_fields=275
post_revisions=134
posts=441
post_search_data=50
search_logs=8
site_settings=5
stylesheet_cache=540
theme_fields=9
theme_settings=3

Я проверил все настройки сайта — всё в порядке (как и темы), и, полагаю, всё вышеперечисленное было выполнено. Видите ли вы что-то, что должно было быть сделано, но не было? Как вы думаете, можно ли продолжить работу в текущем состоянии, или лучше начать всё заново с нуля?

Также есть какие-то идеи, почему ошибки «duplicate key value violates unique constraint» становятся всё более частыми в Discourse? Я заметил несколько тем на эту тему, и, кажется, это уже третий раз, когда я сталкиваюсь с такой проблемой.

По выводу — нет. Мы выводим только таблицы с изменениями. Нет способа узнать, отсутствует ли таблица в списке из-за ошибки или просто потому, что в ней (не указанной в списке) не было ни одного вхождения name.com.

К сожалению, это выходит за рамки моей компетенции.

Спасибо, Джошуа.

Есть какие-то идеи, что означают эти числа? Количество изменений?

Какой сейчас рекомендуемый план действий? Исправить ошибку уникального ограничения, а затем выполнить обратную операцию (вернуться с forum.name.com к name.com, а затем снова к forum.name.com), или нужно сделать что-то другое?

Редактирование: готово

Я зашел в приложение и консоль Rails, удалил соответствующую TopicLink, затем перешел с forum.name.com обратно на name.com, а затем снова на forum.name.com.

backup_metadata=1
categories=6
email_logs=318
email_tokens=2
groups=1
incoming_domains=3
incoming_emails=3
javascript_caches=4
post_custom_fields=277
post_revisions=140
posts=444
post_search_data=51
search_logs=10
site_settings=5
stylesheet_cache=564
theme_fields=9
theme_settings=3
topic_links=281
topics=30
topic_search_data=8
translation_overrides=1
uploads=54
user_auth_token_logs=48
user_emails=2
user_histories=189
Готово