Problème avec la mise à niveau de Discourse de 3.2.0 à 3.3.0 PostgreSQL

Bonjour ! J’ai essayé de mettre à niveau mon instance Discourse v3.2.0 vers la v3.3.0. Lorsque les migrations de base de données ont été exécutées, cela a échoué.

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.

J’ai résolu ce problème en supprimant 3 déclencheurs dans la base de données :

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;

Ma question est la suivante : pouvez-vous confirmer qu’il s’agit d’une erreur du côté de Discourse ? Avez-vous l’intention de la corriger à l’avenir ?

J’utilise PostgreSQL 14.10.

Créé une PR pour corriger ce problème.

Je ferme cette PR car je ne parviens pas à reproduire le problème et personne d’autre n’a signalé de problème similaire.

Migration::ColumnDropper.execute_drop supprime la fonction read_only pour chaque colonne avec CASCADE. Cela supprime également le déclencheur.

Il semble que vous aviez un déclencheur qui ne référençait pas la fonction read_only. Je ne suis pas sûr de la façon dont vous avez réussi à faire cela. Utilisez-vous une installation standard ?