Après avoir mis à jour mon installation de Discourse de 2.9.0.beta9 à 2.9.0.beta11, l’installation s’est complètement bloquée car tous les appels listant les sujets renvoient soudainement column bookmarks.post_id does not exist
J’ai retracé le commit qui supprime cette colonne jusqu’à f8939bd294ff6822a61fb653b44a4df351321f54 qui supprime la colonne de la base de données. Le problème se produit également en mode sans échec, je ne pense donc pas qu’un plugin soit en cause.
Stacktrace :
app/models/topic_list.rb:84:in `topics'
app/serializers/suggested_topics_mixin.rb:17:in `include_suggested_topics?'
(eval):6:in `_fast_attributes'
app/controllers/topics_controller.rb:1199:in `block (2 levels) in perform_show_response'
app/controllers/topics_controller.rb:1194:in `perform_show_response'
app/controllers/topics_controller.rb:169:in `show'
app/controllers/application_controller.rb:413:in `block in with_resolved_locale'
app/controllers/application_controller.rb:413:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
lib/middleware/content_security_policy.rb:12:in `call'
lib/middleware/anonymous_cache.rb:366:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/request_tracker.rb:202:in `call'
Failed to handle exception in exception app middleware : ActiveRecord::StatementInvalid : PG::UndefinedColumn: ERROR: column bookmarks.post_id does not exist
LINE 1: ...marks\".\"bookmarkable_type\" FROM \"bookmarks\" WHERE \"bookmarks...\n```
Toute aide est appréciée.
Je suis très confus, cette colonne a été ignorée pendant un bon moment.
@martin devait la supprimer, nous ne l’utilisons plus.
Avez-vous une configuration personnalisée ? Des plugins spéciaux sont-ils impliqués ? L’erreur était-elle une chose « transitoire » qui s’est produite lors de la migration ? (Je m’attendrais à cette erreur éventuellement lors d’une mise à jour en direct depuis l’interface Web dans des conditions exceptionnelles)
J’utilise la configuration Docker par défaut avec quelques plugins, mais j’ai pu le reproduire en mode sans échec. De plus, les traces de la pile ne contiennent aucune référence évidente aux plugins.
Mis à jour à l’aide d’une reconstruction complète sans aucune erreur pendant la migration. J’ai également essayé de relancer les migrations qui n’ont signalé aucun changement.
J’ai trouvé le problème C’était un problème de plugin après tout
Les versions précédentes du composant de thème Topic List Previews (TLP) étaient distribuées sous forme de plugin, puis divisées en un plugin et un composant de thème. Lors de cette division initiale, les utilisateurs ont reçu l’instruction de charger le plugin à partir d’une nouvelle branche. Cependant, au fil du temps, la branche a été abandonnée et n’a plus été maintenue. Après être passé au fork maintenu, tout fonctionne à nouveau.