Проблемы с восстановлением резервной копии в Discourse

Это похоже на проблему, описанную в Can't restore a backup if it includes link to Discourse onebox :anxious_face_with_sweat:

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

cd /var/discourse
./launcher enter app

# Запустите восстановление с аргументом --pause
discourse restore --pause <backup_filename>

Процесс восстановления приостановится в двух точках:

  1. Перед выполнением миграций базы данных — это можно проигнорировать; нажмите любую клавишу, чтобы продолжить.
  2. Перед восстановлением файлов. У вас будет доступ к неизменённой таблице uploads (переназначения ещё не выполнены), что позволит исправить файлы до того, как процесс восстановления прервётся из-за них.

Теперь откройте ещё одну сессию SSH на вашем сервере и запустите rails console:

cd /var/discourse
./launcher enter app

rails c

Вам нужно будет определить, какой Post вызывает сбой восстановления. Если вам повезёт, вы найдёте его, выполнив в rails console следующую команду:

current_db = RailsMultisite::ConnectionManagement.current_db
cdn_path = SiteSetting.cdn_path("/uploads/#{current_db}/original").sub(/https?:/, "")
Post.where("cooked LIKE '%#{cdn_path}%'")