root@ehealthforum-nz-syd01-web-only:/var/www/discourse# discourse remap draft.ehealthforum.nzehealthforum.nz
Rewriting all occurrences of draft.ehealthforum.nz to ehealthforum.nz
THIS TASK WILL REWRITE DATA, ARE YOU SURE (type YES)
YES
Error: ERROR: duplicate key value violates unique constraint “index_post_hotlinked_media_on_post_id_and_url_md5”
DETAIL: Key (post_id, md5(url::text))=(80591,66a0d020b208dc9f8452a5eb9617f6bc) already exists.
The remap has only been partially applied due to the error above. Please re-run the script again.
Хотя это немного запутанно, с такой проблемой могут столкнуться и другие. Она похожа на эту, но возникает при перемапировании, а не при обновлении.
Похоже, проблема возникает в постах с Oneboxes. А их очень много!
У меня есть обходное решение, которое устранило немедленную проблему. Я настроил CNAME-запись для «старого» URL (который, кстати, является поддоменом моего нового корневого домена) и успешно подтвердил его через Let’s Encrypt, следуя этой инструкции:
Теперь, по крайней мере, битые ссылки перенаправляют пользователя в нужное место!
Я немного не понимаю, почему возникла эта проблема. При первом восстановлении моей резервной копии на тестовом экземпляре (перед запуском в продакшн) произошло автоматическое переназначение ссылок. Последующие восстановления не вызывали переназначения, несмотря на изменение URL экземпляра — это меня сбило с толку и привело к текущей проблеме.