У меня не удалось обновить Discourse на моём сервере Digital Ocean. Я попытался восстановить сервер из резервной копии, но, похоже, в новом сервере из резервной копии Discourse отсутствует. Я запустил новый сервер, установил свежую версию Discourse, и она видит мои резервные копии в Amazon S3. Нажал «Восстановить», и на сайте появились все посты и прочее, но затем восстановление неожиданно завершилось ошибкой и откатилось назад. Не понимаю, почему это происходит и что делать дальше, чтобы запустить Discourse. Прикрепил файл журнала для справки.
log 3.txt (93.8 КБ)
569 сообщений не перенаправлены на новый URL загрузки S3. Миграция S3 не удалась для базы данных ‘default’.
Тот факт, что сообщается о новом URL загрузки S3, указывает на то, что вы настроили его иначе, чем в предыдущей ситуации. Тот факт, что происходит сбой, свидетельствует о том, что новая конфигурация также неверна.
Решение: убедитесь, что переменные, установленные в вашем файле app.yml, совпадают с теми, что были в предыдущей установке.
Я взял файл app.yml с неудачного Droplet для обновления Discourse и перенёс его на новый Droplet, куда пытаюсь восстановить резервную копию. Ошибка всё ещё возникает на 569 сообщениях. Есть ли способ пропустить их или другой вариант обойти это? Я бы предпочёл восстановить весь форум, а не только 569 сообщений.
Обычно я отключаю загрузку в S3 перед переносом, но, полагаю, у вас нет такой возможности, так как ваш оригинальный форум недоступен.
Я не на 100% уверен, что это сработает — вы можете попробовать следующее:
- установите
DISCOURSE_ENABLE_S3_UPLOADS: falseв файле app.yml - выполните восстановление
- удалите эту строку
- пересоберите приложение
Если это не сработает, вы можете попробовать отредактировать файл dump.sql в резервной копии и установить значение настройки на false там.