继续讨论 将您的 Discourse 实例迁移到不同服务器:
在新服务器上安装 Discourse、注册新管理员(使用与旧管理员相同的用户名)并恢复备份后,一切顺利直到最后,然后我遇到了以下错误:
[2020-01-24 07:06:47] 正在通知 'padpors' 恢复结束... [2020-01-24 07:06:47] 通知用户时发生错误。
结果导致备份无法恢复。
继续讨论 将您的 Discourse 实例迁移到不同服务器:
在新服务器上安装 Discourse、注册新管理员(使用与旧管理员相同的用户名)并恢复备份后,一切顺利直到最后,然后我遇到了以下错误:
[2020-01-24 07:06:47] 正在通知 'padpors' 恢复结束... [2020-01-24 07:06:47] 通知用户时发生错误。
结果导致备份无法恢复。
我从网站获取了另一个备份,并尝试按照以下指南通过终端进行恢复:https://meta.discourse.org/t/restore-a-backup-from-command-line/108034。但在恢复结束时,终端中出现了相同的错误:
正在通知“system”恢复结束...
通知用户时出现问题。
完成!
[FAILED]
恢复已完成。
由于备份文件本身没有问题,我推测这是一个 bug。
@gerhard 你知道可能导致这个问题的原因是什么吗?
最近备份/恢复代码发生了很多变化。你使用的是最新版本吗?
我也经常看到这个错误。
但是……这个错误发生在恢复之后,并且恢复最终以“成功”结束。所以这确实是一个错误,但它肯定没有导致恢复失败。
取消暂停 sidekiq...
将恢复标记为完成...
通知 'DHSupport' 恢复已结束...
通知用户时发生错误。
完成!
[成功]
你确定上方没有错误吗?
进一步查看了这个问题。
#<NoMethodError: undefined method `join' for nil:NilClass>
回溯:
lib/discourse.rb:45:in `pretty_logs'
/var/www/discourse/lib/backup_restore/restorer.rb:134:in `notify_user'
看起来 @logs 未初始化?
是的,这两个实例都是全新安装并已更新到最新。
上面没有其他错误,但我会再检查一遍以确保无误。
你说得对,这是之前的错误:
ERROR: could not create unique index "index_tags_on_lower_name"
DETAIL: Key (lower(name::text))=(زبا�) is duplicated.
EXCEPTION: psql failed: DETAIL: Key (lower(name::text))=(زبا�) is duplicated.
我想这已经在以下链接中报告过了:Can't restore due to corrupt indexes (with some clues on how to deal with corrupt indexes) 和 There are some duplicated tags due to database corruption and I can't merge