こんにちは、
状況
3日前にリリースされた安定版 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 のマイグレーションが 6 つあります。
つまり、stable ブランチは 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 を実行すべきでしょうか?
再構築は問題なく動作します!@gerhard さん、ありがとうございます。