稳定版 v2.3.6 升级因插件导致不平稳

你好,

情况

我今天升级到了 v2.3.6,这是三天前发布的稳定版本。我通过管理界面成功升级了 Docker,但随后陷入了“无限”升级状态。回到管理页面时,它显示版本为 v2.3.5,但在列出升级项时却提示“仍在升级”。重新加载后,所有项目均显示“已是最新版本”,但管理页面仍显示 v2.3.5。

有解决方法吗?

此时,我决定运行 ./launcher rebuild standalone,但引导过程因迁移错误而失败:

ArgumentError: Unknown migration version "6.0"; expected one of "4.2", "5.0", "5.1", "5.2"

我可以通过 ./launcher start standalone 重新启动容器,此时显示一切正常,且已更新至 v2.3.6。

我想这与升级到 Rails 6 有关。

是否有其他人也遇到了从 v2.3.5 升级到 v2.3.6 的问题?

也许是一个插件?我在核心稳定分支中没有看到任何带有 ActiveRecord::Migration[6.0] 的迁移。

说得好,@gerhard!我找到罪魁祸首了:discourse-policy 有 6.0 版本的迁移。

所以我理解稳定分支仍然停留在 Rails 5.2……

root@talk:/var/www/discourse/plugins# grep -r 'ActiveRecord::Migration\[6.0\]' .
./discourse-policy/db/migrate/20191013212445_migrate_policy_users_table.rb:class MigratePolicyUsersTable < ActiveRecord::Migration[6.0]
./discourse-policy/db/post_migrate/20191014224419_migrate_custom_field_to_policy_users.rb:class MigrateCustomFieldToPolicyUsers < ActiveRecord::Migration[6.0]

我现在需要做什么来运行这些迁移吗?还是它们已经被某种方式考虑到了?
我想 2.3.7 会修复这个问题……

我已在 FIX: Make migrations work with Discourse stable · discourse/discourse-policy@94635bf · GitHub 修复了迁移问题。希望最近几次提交中没有其他内容会在稳定分支上引发问题。

谢谢 @gerhard。我应该再次运行 ./launcher rebuild 吗?

是的,请尝试重新构建。

重建工作一切正常!再次感谢 @gerhard