Наша группа использовала временный домен для работы Discourse в течение двух месяцев, пока мы не согласовали наш основной домен. Вчера я попытался перенести весь контент со старого домена на новый. Весь текстовый контент, учётные записи пользователей и даже ссылки между темами перенеслись корректно. Но теперь:
- Все вставленные ранее изображения, похоже, потеряны.
- Загрузка новых изображений невозможна.
Вот как я действовал:
- Развернул новое приложение Discourse на новом сервере DigitalOcean (droplet).
- Привязал новый домен к этому серверу.
- Убедился, что оба приложения Discourse и все плагины обновлены до последних доступных версий.
- Перевёл старый Discourse в режим только для чтения, чтобы предотвратить добавление нового контента.
- Сделал резервную копию старого Discourse.
- Загрузил резервную копию в новый Discourse.
- Обновил адрес электронной почты в Discourse со старого домена на новый.
- Провёл тест уведомлений, и они работали в новом Discourse.
- Просмотрел все настройки Discourse, чтобы заменить упоминания старого домена на новый.
- Настроил перенаправление старого поддомена на правильный домен и временно добавил там заметку и ссылку на новый Discourse.
Как указано выше, большая часть контента перенеслась безупречно. Однако через день мы обнаружили, что старые вставки изображений потеряны, и загрузка новых изображений невозможна. Отображается только их альтернативный текст (alt). Ниже приведён скриншот примера.
При поиске в Google я нашёл несколько обширных тем по этой проблеме, но ни одна из них не касалась изменения доменного имени и невозможности повторной загрузки.
Только что я попытался решить проблему следующим образом:
- Подключился к серверу по SSH.
- Перешёл в каталог Discourse и вошёл в приложение.
- Запустил команду
rake posts:missing_uploads. Результат:
Looking for missing uploads on: default
0 post uploads are missing.
- Запустил команду
rake uploads:missing. Результат — длинный список:
/var/www/discourse/public/uploads/default/original/1X/bbc547e72f080561282be277749165709cbb0983.ico
/var/www/discourse/public/uploads/default/original/1X/0a421ccd1a08047895e2355f44c332f8b069107d.jpeg
/var/www/discourse/public/uploads/default/original/1X/034e0353b7558a26252c82982de53002fda0a33f.jpeg
[…]
/var/www/discourse/public/uploads/default/original/1X/f7a6164ffa55af4ee2706d2386227183ef6c2d61.png
96 of 281 uploads are missing
/var/www/discourse/public/uploads/default/optimized/1X/997bc5536763d84a8d035ff7becd98277a158680_2_45x45.png
[…]
/var/www/discourse/public/uploads/default/optimized/1X/8944afba36549c9050ef074b391625ef93d4d0e3_2_1035x582.jpeg
/var/www/discourse/public/uploads/default/optimized/1X/8944afba36549c9050ef074b391625ef93d4d0e3_2_10x10.png
247 of 761 optimized_images are missing
- Запустил команду
rake uploads:recover_from_tombstone. Вывода нет.
Честно говоря, я не знаю, что именно делают эти команды Rake.
Я также вижу в файле containers/app.yml, что переменная DISCOURSE_HOSTNAME содержит правильный (новый) поддомен и домен.
Выполнение команды ./launcher rebuild app не даёт видимых изменений.
Кто-нибудь может помочь, пожалуйста? Спасибо.


