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.
조금 난해해 보이지만, 다른 사용자들도 이 문제로 인해 어려움을 겪을 가능성이 큽니다. 이 문제와 유사하지만, 업그레이드 시가 아닌 재매핑 과정에서 발생했습니다.
즉각적인 문제를 해결해 준 우회 방법을 찾았습니다. ‘구’ URL(새 루트의 서브도메인인 것이 우연히 일치합니다)에서 CNAME 레코드를 설정하고, 다음 가이드에 따라 Let’s Encrypt로 인증했습니다:
이제 깨진 링크가 적어도 사용자를 올바른 위치로 데려다 줍니다!
왜 이런 문제가 발생했는지 정확히 이해하지 못하겠습니다. 스테이징 인스턴스에서 백업을 처음 복원했을 때(라이브로 전환하기 전에) 자동 리맵이 수행된 것 같습니다. 이후 복원에서는 인스턴스 URL이 변경되었음에도 리맵이 트리거되지 않아 혼란스러웠고, 이것이 현재의 문제로 이어졌습니다.