Я успешно использую S3 как для загрузки файлов, так и для резервного копирования. Однако восстановление проходит успешно только в том случае, если исключить загрузки из резервной копии, выбрав опцию «Да (не включать загрузки)». Если при создании резервной копии я просто выбираю «Да» и включаю загрузки, то в логе возникает ошибка:
ИСКЛЮЧЕНИЕ: Некоторые загрузки не удалось перенести в новую схему. Вам необходимо исправить это вручную.
[2022-08-18 20:57:23] /var/www/discourse/lib/file_store/to_s3_migration.rb:156:in `migrate_to_s3’
Мне бы хотелось, чтобы резервные копии были полностью автономными и включали загрузки, чтобы я мог восстановить всё из резервной копии на случай необходимости миграции на другую учётную запись AWS, непредвиденной катастрофы или подобного события в будущем.
Это сложно. Проблема в том, что некоторые изображения находятся в другом хранилище по другому пути, из-за чего тест не проходит. Поэтому нужно найти эти загрузки и переместить их в правильное хранилище.
Да… Мы работаем над миграцией Discourse в другую среду, что включает перенос приложения на другой хост и перенос файлов в новый бакет S3. Нам удалось настроить приложение и включить загрузку файлов в новый бакет S3. Все новые посты и загрузки работают корректно. Мы пытаемся восстановить резервную копию со старого хоста на новый, и именно тогда возникает эта ошибка. Мы боремся с этим уже две недели. Я вижу рекомендацию: отключить загрузку в S3, выполнить восстановление, а затем снова включить загрузку в S3.
Я готов это сделать, но хотел убедиться: если я отключу S3, выполню восстановление и снова включу S3, все восстановленные файлы автоматически будут перемещены в новый бакет S3, или нам нужно запустить задачу миграции в S3?