恢复失败 - 无法创建唯一索引

最近 incoming_referers 表的问题出现了几次。我不确定为什么这个特定的表会引发问题,但看起来这些问题可能是相关的。也许 Discourse 团队的其他成员对是什么导致了重复记录的创建会有些想法。

您是否仍然可以访问创建备份文件的那个站点?如果可以,修复方法是先从数据库中删除重复记录,然后创建一个新的备份文件。为此,您需要通过 SSH 登录到旧服务器,并 cd 进入 /var/discourse 目录:

cd /var/discourse

然后运行

./launcher enter app

接着通过以下命令进入 Rails 控制台:

rails c

此时您应该会看到一个类似于以下的提示符:

[1] pry(main)>

请在 Rails 控制台中尝试运行以下命令,并告知我们它返回了什么:

IncomingReferer.where(path: "/m/search")

它应该返回一个包含两条或更多记录的数组。

2 个赞