Problema nel rebuild di Discourse su Docker

Ciao,

Ho un problema con un aggiornamento. Quando provo ad aggiornare Discourse tramite la pagina admin/upgrade, ricevo informazioni sulla vecchia immagine Docker.

Quindi provo a connettermi al server Discourse e ad aggiornare digitando i comandi git pull e poi ricostruendo l’app. Ma ora ho ricevuto il seguente errore:

...
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'

Ho provato ad aggiornare Discourse con la sezione dei plugin commentata. Ma non ha aiutato.

Cercando su discourse riguardo alla funzione sync_bookmarks_polymorphic_column_data, trovo solo questa modifica nel codice di Discourse DEV: Drop bookmark trigger correctly (#15486)

Dove posso trovare maggiori informazioni su cosa è successo? O come posso provare a ricostruire Discourse senza la modifica sopra?

Hai saltato un aggiornamento di PostgreSQL forzando una vecchia versione del database in app.yml?

Temo che dovrai aggiornare alla nostra versione supportata seguendo Aggiornamento PostgreSQL 13

3 Mi Piace

Ciao Rafael,

Ottima domanda! Come posso saltare un aggiornamento di PostgreSQL? Esiste un elenco di attributi che posso usare in app.yml?

1 Mi Piace

Se si utilizza un modello Postgresql specifico con un numero di versione al suo interno, questo salterà l’aggiornamento.
Ad esempio, l’uso di

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

invece di

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

fisserà Postgres alla versione 12 invece di ‘latest’, che attualmente è PG 13.