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.

Hallo Rafael,

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

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.