Colonna non definita 'boomarks.post_id' dopo l'aggiornamento

Dopo l’aggiornamento della mia installazione di discourse da 2.9.0.beta9 a 2.9.0.beta11, l’installazione si è completamente bloccata poiché tutte le chiamate che elencano gli argomenti restituiscono improvvisamente column bookmarks.post_id does not exist

Ho rintracciato il commit che rimuove questa colonna a f8939bd294ff6822a61fb653b44a4df351321f54 che rimuove la colonna dal database. Il problema si verifica anche in modalità sicura, quindi non credo che un plugin sia in colpa.

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```
Qualsiasi aiuto è apprezzato
1 Mi Piace

L’ho risolto per ora aggiungendo nuovamente la colonna al database, ma penso che la causa principale debba essere risolta :grimacing:

Sono felice di rimuovere nuovamente la colonna se hai bisogno di ulteriori diagnosi.

2 Mi Piace

Sono molto confuso, questa è stata una colonna ignorata per un bel po’ di tempo.

@martin doveva rimuoverla, non è più qualcosa che usiamo.

Hai una configurazione personalizzata? Sono coinvolti plugin speciali? L’errore è stato qualcosa di “transitorio” accaduto durante la migrazione? (Mi aspetterei questo errore possibilmente durante l’aggiornamento in tempo reale dall’interfaccia web in condizioni anomale)

1 Mi Piace

Ho riscontrato lo stesso problema durante l’aggiornamento oggi. L’aggiunta della colonna post_id ha aiutato a risolverlo.

Passaggi:

  1. Entra nel container di discourse
./launcher enter app
  1. Entra in psql
sudo -u postgres psql discourse
  1. Riaggiungi la colonna post_id nella tabella bookmarks
ALTER TABLE bookmarks ADD COLUMN post_id int;
2 Mi Piace

Sto usando la configurazione Docker predefinita con alcuni plugin, ma sono riuscito a riprodurlo in modalità provvisoria. Inoltre, gli stack trace non contengono riferimenti evidenti ai plugin.

Aggiornato utilizzando una ricostruzione completa senza errori durante la migrazione. Ho anche provato a rieseguire le migrazioni che non hanno riportato modifiche.

1 Mi Piace

Sono confuso…

Puoi provare

  1. Rimuovere di nuovo la colonna
  2. Riavviare il tuo container ./launcher restart app

L’errore persiste?

L’aggiunta della colonna non dovrebbe essere necessaria.

1 Mi Piace

Ho già provato a riavviare quando ho riscontrato l’errore per la prima volta. Giusto per verificare, l’ho fatto di nuovo e l’errore persiste. Potrebbe essere un componente del tema a causare problemi? Il componente del tema topic-list-preview è stata una delle somiglianze che ho identificato tra la nostra istanza e krita-artists.org menzionata qui: Oops. The software powering this discussion forum encountered an unexpected problem - #10 by raghukamath

2 Mi Piace

È molto improbabile che un componente del tema attivi questo, qual è l’elenco completo dei plugin che utilizzi?

Potresti riprovare ancora una volta?

1 Mi Piace

Ho trovato il problema :partying_face: Alla fine era un problema di plugin :sweat_smile:

Le versioni precedenti del componente tema Topic List Previews (TLP) venivano distribuite come plugin e poi suddivise in un plugin e un componente tema. Durante questa divisione iniziale, agli utenti è stato indicato di caricare il plugin da un nuovo branch. Tuttavia, col tempo, il branch è stato abbandonato e non più mantenuto. Dopo essere passati al fork mantenuto, tutto funziona di nuovo.

6 Mi Piace

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