你好,
情况
我今天升级到了 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 的问题?
gerhard
(Gerhard Schlager)
2
也许是一个插件?我在核心稳定分支中没有看到任何带有 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 会修复这个问题……
gerhard
(Gerhard Schlager)
4
谢谢 @gerhard。我应该再次运行 ./launcher rebuild 吗?