Discourse Question Answerのインストールに失敗しました:ON CONFLICT DO NOTHING

Discourse Question Answer をインストールできません

== 20211020062413 CreateQuestionAnswerVotes: マイグレーション中 =======
-- create_table(:question_answer_votes, {})
   -> 0.0478秒
-- add_index(:question_answer_votes, [:post_id, :user_id], {:unique=>true})
   -> 0.0024秒
-- execute("INSERT INTO question_answer_votes (post_id, user_id, created_at)\nSELECT\n  X.post_id AS post_id,\n  (X.value->>'user_id')::int AS user_id,\n  (X.value->>'created_at')::timestamp AS created_at\nFROM (\n  SELECT\n    post_id,\n    jsonb_array_elements(value::jsonb) AS value\n  FROM post_custom_fields WHERE name = 'vote_history'\n) AS X\nWHERE (X.value->>'action') != 'destroy'\nORDER BY (X.value->>'created_at')::timestamp DESC\nON CONFLICT DO NOTHING\n")

I, [2022-09-05T08:36:29.418247 #1]  INFO -- : 非同期プロセスを終了しています
I, [2022-09-05T08:36:29.418302 #1]  INFO -- : HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 41 に INT を送信しています
ds WHERE name = 'vote_history'
) AS X
WHERE (X.value->>'action') != 'destroy'
ORDER BY (X.value->>'created_at')::timestamp DESC
ON CONFLICT DO NOTHING
")

I, [2022-09-05T08:36:29.418247 #1]  INFO -- : 非同期プロセスを終了しています
I, [2022-09-05T08:36:29.418302 #1]  INFO -- : HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 41 に INT を送信しています
I, [2022-09-05T08:36:29.418383 #1]  INFO -- : exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 102 に TERM を送信しています
2022-09-05 08:36:29.418 CST [41] LOG:  高速シャットダウンリクエストを受信しました
102:signal-handler (1662338189) SIGterm を受信し、シャットダウンをスケジュールしました...
2022-09-05 08:36:29.419 CST [41] LOG:  アクティブなトランザクションを中止しています
2022-09-05 08:36:29.422 CST [41] LOG:  バックグラウンドワーカー "logical replication launcher" (PID 50) が終了コード 1 で終了しました
2022-09-05 08:36:29.426 CST [45] LOG:  シャットダウン中です
102:M 05 Sep 2022 08:36:29.437 # ユーザーがシャットダウンをリクエストしました...
102:M 05 Sep 2022 08:36:29.437 * 終了する前に最終 RDB スナップショットを保存しています。
2022-09-05 08:36:29.466 CST [41] LOG:  データベースシステムはシャットダウンされました
102:M 05 Sep 2022 08:36:29.896 * DB がディスクに保存されました
102:M 05 Sep 2022 08:36:29.896 # Redis は終了する準備ができました。さようなら...


FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 790 exit 1>
失敗の場所: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
** BOOTSTRAP に失敗しました ** 上記にスクロールして、以前のエラーメッセージを探してください。複数ある場合があります。
./discourse-doctor が問題を診断するのに役立つ場合があります。
e3d5cb6cab0a78a5d9b12c2fb6f5dac60c4e1182509b163f1a4fbdf207578f04

Pavilion の Question Answer Plugin をインストールしましたが、ずっと前に削除しました。

メッセージにあるように……

申し訳ありませんが、これは完全なログです。

https://paste.ubuntu.com/p/pmQfNzSk3J/

「vote_history」フィールドに問題があるようです。

I, [2022-09-05T19:39:21.422820 #1]  INFO -- : > cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate'
2022-09-05 19:39:34.506 CST [819] discourse@discourse ERROR:  cannot extract elements from a scalar
2022-09-05 19:39:34.506 CST [819] discourse@discourse STATEMENT:  INSERT INTO question_answer_votes (post_id, user_id, created_at)
        SELECT
          X.post_id AS post_id,
          (X.value->>'user_id')::int AS user_id,
          (X.value->>'created_at')::timestamp AS created_at
        FROM (
          SELECT
            post_id,
            jsonb_array_elements(value::jsonb) AS value
          FROM post_custom_fields WHERE name = 'vote_history'
        ) AS X
        WHERE (X.value->>'action') != 'destroy'
        ORDER BY (X.value->>'created_at')::timestamp DESC
        ON CONFLICT DO NOTHING

rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:

最近も同様のエラーが報告されています - Bootstrap failed with exit code 1 ただし、まだ解決策は投稿されていません。

これは、以前にPavilionプラグインをインストールしていたこととの競合でしょうか? @Hifihedgehog、あなたのサイトでも以前にインストールしていましたか?

「いいね!」 1

エラーは586行目にあります。

スカラー(メモリ内)から値を取得できません。その周辺のものをここにコピーしてください。移行に関するバグなのか、データベースで修正する必要があるもの(または急いでいる場合は修正できるもの)なのか、私にははっきりしません。

編集:質問の回答を削除すると、当面は解決するようです。

「いいね!」 1