最近 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")
它应该返回一个包含两条或更多记录的数组。