Problem beim Neuerstellen von Discourse bei Docker

Hallo,

Ich habe ein Problem mit einem Update. Wenn ich versuche, Discourse über die Seite Admin/Upgrade zu aktualisieren, erhalte ich Informationen über das alte Docker-Image.

Also versuche ich, mich mit dem Discourse-Server zu verbinden und mit den Befehlen git pull und anschließendem Neuerstellen der App zu aktualisieren. Aber jetzt erhalte ich die folgende Fehlermeldung:

...
success Cleared cache.
Done in 8.44s.

I, [2022-03-08T17:16:03.605966 #1]  INFO -- : cd /var/www/discourse & su discourse -c 'LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all'
I, [2022-03-08T17:16:08.549201 #1]  INFO -- : 
I, [2022-03-08T17:16:08.549823 #1]  INFO -- : cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate'
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:

ERROR:  syntax error at or near "CASCADE"
LINE 1: ...ION IF EXISTS sync_bookmarks_polymorphic_column_data CASCADE
                                                                ^
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-3.0.0/lib/patches/db/pg.rb:110:in `exec'
...
/usr/local/bin/bundle:25:in `<main>'

Caused by:
PG::SyntaxError: ERROR:  syntax error at or near "CASCADE"
LINE 1: ...ION IF EXISTS sync_bookmarks_polymorphic_column_data CASCADE
                                                                ^
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-3.0.0/lib/patches/db/pg.rb:110:in `exec'

Ich habe versucht, Discourse mit auskommentiertem Plugin-Bereich zu aktualisieren. Aber es hat nicht geholfen.

Wenn ich in Discourse nach sync_bookmarks_polymorphic_column_data suche, finde ich nur diese Änderung im Discourse-Code DEV: Drop bookmark trigger correctly (#15486).

Wo finde ich weitere Informationen darüber, was passiert ist? Oder wie kann ich versuchen, Discourse ohne die obige Änderung neu zu erstellen?

Haben Sie ein PostgreSQL-Upgrade übersprungen, indem Sie eine alte Version der Datenbank in Ihrer app.yml erzwungen haben?

Ich befürchte, Sie müssen auf unsere unterstützte Version aktualisieren, indem Sie PostgreSQL 13 Update befolgen.

3 „Gefällt mir“

Hallo Rafael,

Gute Frage! Wie kann ich ein PostgreSQL-Upgrade überspringen? Gibt es eine Liste von Attributen, die ich in app.yml verwenden kann?

1 „Gefällt mir“

Wenn Sie eine bestimmte Postgresql-Vorlage mit einer Versionsnummer darin verwenden, wird das Upgrade übersprungen.

z. B. die Verwendung von

templates:
  - "templates/postgres.12.template.yml"

anstelle von

templates:
  - "templates/postgres.template.yml"

pinnt die Postgres-Version auf Version 12 anstelle von ‘latest’, was derzeit PG 13 ist.