アップデート後、'boomarks.post_id' の列が未定義です

Discourse のインストールを 2.9.0.beta9 から 2.9.0.beta11 に更新した後、トピックを一覧表示するすべての呼び出しで column bookmarks.post_id does not exist が返されるようになり、インストールが完全にフリーズしました。

この列を削除したコミットを f8939bd294ff6822a61fb653b44a4df351321f54 として特定しました。これはデータベースから列を削除します。問題はセーフモードでも発生するため、プラグインが原因であるとは考えていません。

スタックトレース:

app/models/topic_list.rb:84:in `topics'
app/serializers/suggested_topics_mixin.rb:17:in `include_suggested_topics?'
(eval):6:in `_fast_attributes'
app/controllers/topics_controller.rb:1199:in `block (2 levels) in perform_show_response'
app/controllers/topics_controller.rb:1194:in `perform_show_response'
app/controllers/topics_controller.rb:169:in `show'
app/controllers/application_controller.rb:413:in `block in with_resolved_locale'
app/controllers/application_controller.rb:413:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:366:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/request_tracker.rb:202:in `call'
Failed to handle exception in exception app middleware : ActiveRecord::StatementInvalid : PG::UndefinedColumn: ERROR:  column bookmarks.post_id does not exist
LINE 1: ...marks\".\"bookmarkable_type\" FROM \"bookmarks\" WHERE \"bookmarks...\n```
何か助けがあれば幸いです。
「いいね!」 1

とりあえずデータベースにカラムを戻して修正しましたが、根本的な原因を修正すべきだと思います :grimacing:

さらに診断が必要な場合は、カラムを再度削除しても構いません

「いいね!」 2

しばらくの間、この列は無視されていました。混乱しています。

@martin は削除する必要がありました。これはもはや使用していません。

カスタムセットアップを使用していますか?特別なプラグインが関係していますか?エラーは、移行が実行されたときの「移行」的なものでしたか?(Webインターフェイスからのライブアップデート中に、例外的な条件下でこのエラーが発生する可能性があります)

「いいね!」 1

本日アップデート中に同じ問題が発生しました。post_id 列を元に戻したところ、問題が解決しました。

手順:

  1. ディスコースコンテナに入る
./launcher enter app
  1. psql を起動する
sudo -u postgres psql discourse
  1. bookmarks テーブルに post_id 列を戻す
ALTER TABLE bookmarks ADD COLUMN post_id int;
「いいね!」 2

デフォルトのDockerセットアップにいくつかのプラグインを追加して使用していますが、セーフモードでも再現できました。また、スタックトレースにはプラグインへの明らかな参照は含まれていませんでした。

マイグレーション中にエラーは発生せず、フルリビルドを使用して更新しました。マイグレーションを再実行しても変更はないと報告されました。

「いいね!」 1

混乱しています…

試していただけますか?

  1. 列を再度削除する
  2. コンテナを再起動する ./launcher restart app

エラーはまだ発生しますか?

列を追加する必要はないはずです。

「いいね!」 1

エラーが発生した際に、すでに再起動を試しました。確認のため、再度実行しましたが、エラーは解消されません。テーマコンポーネントが原因となっている可能性はありますか?ここで言及されている krita-artists.org と私のインスタンスとの類似点として特定できたものの一つに、topic-list-preview というテーマコンポーネントがあります: Oops. The software powering this discussion forum encountered an unexpected problem - #10 by raghukamath

「いいね!」 2

テーマコンポーネントがこれをトリガーする可能性は非常に低いです。使用しているプラグインの完全なリストを教えていただけますか?

もう一度試していただけますか?

「いいね!」 1

問題を見つけました :partying_face: やはりプラグインの問題でした :sweat_smile:

Topic List Previews (TLP) の以前のバージョンはプラグインとして配布され、その後プラグインとテーマコンポーネントに分割されました。この初期の分割中に、ユーザーは新しいブランチからプラグインをロードするように指示されました。しかし、時間が経つにつれて、そのブランチは放棄され、メンテナンスされなくなりました。メンテナンスされているフォークに切り替えた後、すべてが再び機能するようになりました。

「いいね!」 6

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