我正在尝试通过创建一个新的 discourse 来迁移一个旧的 discourse,但我遇到了麻烦

我正在尝试通过创建一个新的 discourse 来迁移一个旧的 discourse,但遇到了一些麻烦。

之前的 discourse 版本是 2.8.0.beta4 (d3779d4cf7)。
无法升级此版本,因此我尝试通过创建新的 discourse 来迁移。

但是,之前 discourse 创建的备份文件无法上传到新创建的 discourse 备份中。

在检查了这些和其他事项后,我发现旧版本 discourse 备份文件的文件夹结构与最新版本备份文件的文件夹结构不同。特别是,上传文件的结构不同。

我知道由于这个原因无法上传,并尝试解决,但仍然找不到方法。

当我尝试将旧 discourse 备份文件夹结构更改为与新备份相同的形式时,备份被导入了。但是,当我继续进行备份时,它失败了。

下图是备份失败时的日志。

如果有人知道如何解决这个问题,任何帮助都将不胜感激。

为什么不行?发生了什么?您应该能够将旧备份恢复到新的 Discourse。有时数据库问题或插件可能会干扰。

并非如此,所以一定有什么地方出错了。

您能否详细说明您看到的差异?

1 个赞

如果我从备份文件夹中删除上传文件夹并导入它,它会正常上传并备份。但图像不会显示。如果我包含上传文件夹,它将不会被导入。会出现类似下图的错误。

如果我将韩语翻译成英语,它是“对不起。上传该文件时出错。请重试。”

从文件夹结构来看,之前的版本为每个图像文件创建了一个单独的文件夹。然而,最新版本将所有图像都包含在 1X 文件夹中。

左侧是之前版本的 uploads 文件夹结构。
右侧是最新版本的 uploads 文件夹结构。

请参阅 从命令行恢复备份(我相信其中会告诉您如何从命令行进行恢复)。这将为您提供完整的错误消息。

在如此小的图像中很难看清。那些带编号的目录可能源于论坛已有 5 年或更长时间的历史,因为那时就是这样使用的。

但恢复失败并非由于上传目录。它失败是因为您的备份不包含数据库转储 (dump.sql.gz)。除了 uploads 目录之外,里面还有其他东西吗?

1 个赞

通过排除 uploads 文件夹执行备份导入,然后直接将 uploads 文件夹插入服务器来解决此问题。
感谢您的回复 :slight_smile:

2 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.