Impossível instalar Discourse Question Answer: ON CONFLICT DO NOTHING

Não foi possível instalar o Discourse Question Answer

== 20211020062413 CreateQuestionAnswerVotes: migrando ========================
-- create_table(:question_answer_votes, {})
   -> 0.0478s
-- add_index(:question_answer_votes, [:post_id, :user_id], {:unique=>true})
   -> 0.0024s
-- execute("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
")

I, [2022-09-05T08:36:29.418247 #1]  INFO -- : Terminating async processes
I, [2022-09-05T08:36:29.418302 #1]  INFO -- : Sending INT to 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'
) 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 -- : Terminating async processes
I, [2022-09-05T08:36:29.418302 #1]  INFO -- : Sending INT to 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 -- : Sending TERM to 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:  received fast shutdown request
102:signal-handler (1662338189) Received SIGTERM scheduling shutdown...
2022-09-05 08:36:29.419 CST [41] LOG:  aborting any active transactions
2022-09-05 08:36:29.422 CST [41] LOG:  background worker "logical replication launcher" (PID 50) exited with exit code 1
2022-09-05 08:36:29.426 CST [45] LOG:  shutting down
102:M 05 Sep 2022 08:36:29.437 # User requested shutdown...
102:M 05 Sep 2022 08:36:29.437 * Saving the final RDB snapshot before exiting.
2022-09-05 08:36:29.466 CST [41] LOG:  database system is shut down
102:M 05 Sep 2022 08:36:29.896 * DB saved on disk
102:M 05 Sep 2022 08:36:29.896 # Redis is now ready to exit, bye bye...


FAILED
--------------------
Pups::ExecError: cd /var/www/discourse &amp;&amp; su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 790 exit 1>
Location of failure: /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
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
e3d5cb6cab0a78a5d9b12c2fb6f5dac60c4e1182509b163f1a4fbdf207578f04

Eu instalei o Plugin Question Answer do Pavilion e o removi há muito tempo

Como a mensagem diz…

Desculpe, este é o log completo:

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

Parece haver um problema com o campo ‘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:

Houve outro relato de um erro semelhante recentemente - Bootstrap failed with exit code 1 Embora ainda não haja solução postada lá.

Talvez isso seja um conflito com a instalação anterior do plugin Pavilion? @Hifihedgehog, seu site também teve isso instalado anteriormente?

1 curtida

O erro está na linha 586.

Não é possível obter o valor de um escalar (por memória). Copie o que está em volta aqui. Não está claro se é um erro na migração ou algo que precisa ser (ou pode ser, se você estiver com pressa) corrigido no seu banco de dados.

Editar: parece que remover a resposta da pergunta resolverá isso a curto prazo.

1 curtida