Не удалось установить 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 -- : Отправка сигнала INT процессу 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
ds 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 -- : Отправка сигнала INT процессу 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
I, [2022-09-05T08:36:29.418383 #1]  INFO -- : Отправка сигнала TERM процессу exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 102
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 * База данных сохранена на диск
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' завершился с ошибкой, код возврата #<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'
Выполнение не удалось с параметрами {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
Загрузка не удалась с кодом выхода 1
** НЕ УДАЛОСЬ ЗАПУСТИТЬСЯ ** Пожалуйста, прокрутите вверх и поищите более ранние сообщения об ошибках, их может быть несколько.
./discourse-doctor может помочь диагностировать проблему.
e3d5cb6cab0a78a5d9b12c2fb6f5dac60c4e1182509b163f1a4fbdf207578f04

Я установил плагин Question Answer от Pavilion и давно его удалил

Как говорится в сообщении…

извините, это полный лог:

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, был ли у вас на сайте также установлен этот плагин ранее?

Ошибка находится на строке 586.

Не удаётся получить значение из скалярного типа (по памяти). Скопируйте данные оттуда сюда. Не совсем понятно, является ли это ошибкой в миграции или чем-то, что нужно (или можно, если вы торопитесь) исправить в вашей базе данных.

Редактирование: похоже, что удаление ответа на вопрос решит проблему в краткосрочной перспективе