غير قادر على تثبيت Discourse Question Answer: ON CONFLICT DO NOTHING

Unable to install Discourse Question Answer

== 20211020062413 CreateQuestionAnswerVotes: migrating ========================
-- 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)\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 -- : 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'\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 -- : 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 && 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

I have installed Pavilion’s Question Answer Plugin and removed it long ago

As the message says…

sorry, this is full log:

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

It’s looking like there’s an issue with the ‘vote_history’ field:

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:

There was another report of a similar error recently - Bootstrap failed with exit code 1 Though no solution posted there yet.

Perhaps this is a conflict with having previously installed the Pavilion plugin? @Hifihedgehog, did your site also previously have that installed too?

إعجاب واحد (1)

The error is at line 586.

Cannot get value from scalar (by memory). Copy the stuff around there here. I’m not clear if it’s a big on the migration or something that needs to be (or can be of you’re in a hurry) fixed in your database.

Edit: looks like removing question answer will solve it in the short term

إعجاب واحد (1)