Мне пришлось перенести заброшенный форум Discourse. К счастью, у нас было несколько администраторов, поэтому это удалось сделать и создать резервную копию. Для наших ресурсов мы использовали бакет S3, что создало определённые проблемы. Я хочу подать запрос на новую функцию:
Сделать возможным включение ресурсов S3 в резервные копии
Я обнаружил (не уверен, до или после пересборки сообщений), что URL-адреса ресурсов S3 были переписаны на внутренние. Поэтому я извлёк все original и optimized URL-адреса S3 из файла базы данных и загрузил их (почти) вручную. После перемещения их в нужное место все отсутствующие изображения отобразились. … Было бы здорово иметь автоматическую функцию для этого.
На данный момент я столкнулся с тремя ошибками:
Сломанные миниатюры, но увеличенные изображения работают
Я восстановил резервную копию, которая также содержит конфигурацию. После этого (и принудительного включения HTTPS) картинки из бакета S3 вообще не отображаются.
Если еще не поздно (то есть на форуме уже есть активность, которую вы не хотите потерять) и у вас есть учетные данные S3, я бы, вероятно, добавил их в app.yml и снова запустил восстановление. После этого вы могли бы установить скрытую настройку, сделать резервную копию и восстановить её на сервере без S3.
Но, думаю, дело обстоит иначе. И не совсем ясно, в чём именно могут быть проблемы, так как даже вы не помните точно, что и когда делали.
Если что-то отсутствует (и у вас есть учетные данные S3), я бы попробовал использовать какой-нибудь инструмент S3 для загрузки всех файлов загрузок, а затем вручную поправить базу данных, чтобы она указывала на них. Но я недостаточно хорошо разбираюсь в этом, чтобы подробно объяснить здесь, как это сделать.