尝试重新映射链接时出现错误

当我尝试按照 Change the domain name or rename your Discourse 重新映射我最近迁移的实例中的链接时,我遇到了这个错误:

root@ehealthforum-nz-syd01-web-only:/var/www/discourse# discourse remap draft.ehealthforum.nz ehealthforum.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 的帖子中。其中有很多!

这需要我们一点时间,但我们应该能在下个月左右解决这个问题。

1 个赞

meantime 这可行/明智吗?这会引起一些痛苦。

不,你需要修复另一个表

我已经找到了一个解决方法,解决了眼前的这个问题。我为“旧”URL(恰好是我的新根域的子域)设置了一个CNAME记录,并按照本指南使用Let’s Encrypt进行了验证:

现在,损坏的链接至少能将用户引导到正确的位置!

我不太清楚为什么会出现这个问题。当我第一次在暂存实例上恢复备份(在上线之前)时,似乎发生了一个自动重映射。随后的恢复尽管实例URL发生了变化,但并未触发重映射——这让我感到困惑,并导致了当前的问题。

1 个赞

更新,抱歉,我们目前非常忙。我现在将此标记为 #pr-welcome。

1 个赞

这个错误似乎已经消失了。它被修复了吗?

不过,我遇到了一个关于重新映射的新错误!将单独报告。

1 个赞