备份上的版本号错误?

我的站点运行的是 2.5.0.beta2 版本(c4bc734b11)。出于……某些原因……我需要将站点及其插件锁定在特定版本。

我已在预发布环境中构建了一个新容器,将 Discourse 锁定在某个提交版本,并将每个插件通过 reset --hard 回退到与当前生产环境相同的提交版本。现在,我想恢复一个备份,以确认这确实达到了预期效果。

备份文件名为 community-2020-06-10-163052-v20201303000002.sql.gz

但恢复失败,提示:

正在验证元数据...
  当前版本:20200320193612
  恢复版本:20201303000002

为方便阅读,可理解为:

正在验证元数据...
  当前版本:2020 年 03 月 20 日 19:36:12
  恢复版本:2020 年 13 月 03 日 00:00:02

我隐约记得之前曾遇到过备份版本号错误的问题,但一时找不到相关记录。

我猜可能需要将文件名从 community-2020-06-10-163052-v2020**13**03000002.sql.gz 重命名为 community-2020-06-10-163052-v2020**03**03000002.sql.gz

编辑:重命名备份文件确实奏效了,至少对于仅包含数据库的备份是这样……

编辑 2:随后我也成功恢复了重命名后的完整备份。

能否检查一下某个插件的数据库迁移文件是否包含 “20201303000002”?

哎呀。我在任何插件中都找不到这样的文件名或该字符串。这看起来真是个很好的解释!

在 Google 中搜索该字符串会找到此主题,以及:https://review.discourse.org/t/fix-ensures-migration-order-is-correct-27/10484

这基本上解释了所发生的情况 :slight_smile: