Problema con l'upgrade di Discourse da 3.2.0 a 3.3.0 su Postgres

Ciao! Ho provato ad aggiornare la mia istanza Discourse v3.2.0 a v3.3.0. Quando stava eseguendo le migrazioni del database, si è verificato un errore.

Execute db:migrate
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled: (StandardError)
ERROR:  cannot drop column user_id of table invites because other objects depend on it
DETAIL:  trigger invites_user_id_readonly on table invites depends on column user_id of table invites
HINT:  Use DROP ... CASCADE to drop the dependent objects too.

Ho risolto questo problema eliminando 3 trigger nel database:

DROP TRIGGER invites_user_id_readonly ON invites;

DROP TRIGGER invites_redeemed_at_readonly ON invites;

DROP TRIGGER user_api_keys_scopes_readonly ON user_api_keys;

La mia domanda effettiva è, potete confermare che si tratta di un errore da parte di Discourse? Avete in programma di correggerlo in futuro?

Sto eseguendo PostgreSQL 14.10.

Creata una PR per correggere questo problema.

Sto chiudendo quella PR perché non riesco a riprodurre il problema e nessun altro ha segnalato un problema simile.

Migration::ColumnDropper.execute_drop elimina la funzione read_only per ogni colonna con CASCADE. Questo elimina anche il trigger.

Sembra che tu avessi un trigger che non faceva riferimento alla funzione read_only. Non sono sicuro di come tu sia riuscito a farlo. Stai usando un’installazione standard?