Привет!
Мы мигрируем все наши загрузки/изображения между двумя разными сервисами, совместимыми с S3 (оба — DigitalOcean Spaces, если это имеет значение), и я пришел к выводу, что мы застряли в довольно плачевном состоянии.
Начну с объяснения того, как проводилась миграция:
- Мы клонировали/синхронизировали исходный бакет в новый с помощью rclone.
- Все ссылки на странице «Files» в администрировании Discourse были обновлены на новые конечные точки.
- Был выполнен пересчет (re-bake).
К сожалению, это не дало желаемого результата, и теперь все изображения «исчезли» с форума. Они по-прежнему находятся в бакете S3 (и, к счастью, также в старом бакете), но ни один пост не может найти свое изображение.
Размер бакета составляет около 60 ГБ, что, хотя и не экстремально, является довольно большим объемом данных.
Я пересобрал контейнер, пытался восстановить данные из tombstone, сделал практически всё, что мог придумать или найти на форуме поддержки и в задачах rake.
Также я пробовал замену базы данных (через discourse remap).
В данный момент каждое изображение в пересчитанном контенте выглядит примерно так:
<img src="https://xxxx.xxxxx.xx/images/transparent.png" alt="image" data-orig-src="upload://h8UudilPhVsGnNmvlJ5lQYEr8PT.jpeg" width="375" height="500">
Это заставляет меня думать, что либо b64-sha ссылки поврежден, либо хэш изображения каким-то образом изменился.
Кто-нибудь уже сталкивался с этим? Все ли изображения потеряны навсегда? (Да-да, у меня есть резервная копия и старые изображения, так что я знаю, что выход есть).