Colonne non définie 'boomarks.post_id' après la mise à jour

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.
1 « J'aime »

Je l’ai réparé pour l’instant en réintégrant la colonne dans la base de données, mais je pense que la cause profonde devrait être corrigée à la place :grimacing:

Je suis heureux de supprimer à nouveau la colonne si vous avez besoin de diagnostics supplémentaires.

2 « J'aime »

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)

1 « J'aime »

J’ai rencontré le même problème lors de la mise à jour aujourd’hui. L’ajout de la colonne post_id a permis de résoudre le problème.

Étapes :

  1. Entrez dans le conteneur discourse
./launcher enter app
  1. Entrez dans psql
sudo -u postgres psql discourse
  1. Ajoutez la colonne post_id dans la table bookmarks
ALTER TABLE bookmarks ADD COLUMN post_id int;
2 « J'aime »

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.

1 « J'aime »

Je suis confus…

Pouvez-vous essayer

  1. De supprimer à nouveau la colonne
  2. De redémarrer votre conteneur ./launcher restart app

L’erreur persiste-t-elle ?

L’ajout de la colonne ne devrait pas être nécessaire.

1 « J'aime »

J’ai déjà essayé de redémarrer lorsque j’ai rencontré l’erreur pour la première fois. Juste pour vérifier, je l’ai refait et l’erreur persiste. Un composant de thème pourrait-il être à l’origine du problème ? Le composant de thème topic-list-preview était l’une des similitudes que j’ai identifiées entre notre instance et krita-artists.org mentionnée ici : Oops. The software powering this discussion forum encountered an unexpected problem - #10 by raghukamath

2 « J'aime »

Un composant de thème est très peu susceptible de déclencher cela, quelle est la liste complète des plugins que vous utilisez ?

Pourriez-vous réessayer une fois de plus ?

1 « J'aime »

J’ai trouvé le problème :partying_face: C’était un problème de plugin après tout :sweat_smile:

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.

6 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.