我在 Digital Ocean 的虚拟主机上更新 Discourse 时失败了。尝试还原虚拟主机的备份,但似乎在新虚拟主机中没有看到备份中的 Discourse。启动了一个新的虚拟主机,重新安装了 Discourse,它可以看到我的 Amazon S3 备份。点击还原后,网站显示所有帖子等内容,但突然还原失败并回滚。不确定为何会出现这种情况,也不知道下一步该怎么做以让我的 Discourse 正常运行。我已附上日志文件以供参考。
log 3.txt (93.8 KB)
569个帖子未重新映射到新的S3上传URL。S3迁移在数据库’default’中失败。
出现“有新的S3上传URL”这一说法,表明你已经将配置与之前的情况不同。出现失败,说明新配置也不正确。
解决方案:确保你在app.yml中设置的变量与之前安装时的一致。
1 个赞
我从失败的 discourse 更新 droplet 中获取了 app.yml 文件,并将其移动到我正在尝试恢复备份的新 droplet 中。569 个帖子仍然失败。有没有办法跳过这些帖子,或者有其他方法可以绕过这个问题?我宁愿恢复整个论坛,而不是 569 个帖子。
我通常的做法是在迁移之前禁用 S3 上传,但我假设你没有这个选择,因为你原始的论坛已经关闭了。
我不完全确定这是否有效——你可以试试看
- 在你的 app.yml 中设置
DISCOURSE_ENABLE_S3_UPLOADS: false - 进行还原
- 移除那一行
- 重建
如果这不起作用,你可以尝试编辑备份中的 dump.sql 文件,并在那儿将设置改为 false。