Coluna indefinida 'boomarks.post_id' após atualização

Após atualizar minha instalação do discourse de 2.9.0.beta9 para 2.9.0.beta11, a instalação travou completamente, pois todas as chamadas que listam tópicos subitamente retornam a coluna bookmarks.post_id não existe

Rastreiei o commit que removeu essa coluna até f8939bd294ff6822a61fb653b44a4df351321f54, que remove a coluna do banco de dados. O problema também ocorre no modo de segurança, então não acho que um plugin seja o culpado.

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/middleware.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:  a coluna bookmarks.post_id não existe
LINE 1: ...marks\".\"bookmarkable_type\" FROM \"bookmarks\" WHERE \"bookmarks...\n```
Qualquer ajuda é apreciada.
1 curtida

Eu corrigi por enquanto adicionando a coluna de volta ao banco de dados, mas acho que a causa raiz deveria ser corrigida em vez disso :grimacing:

Fico feliz em remover a coluna novamente se você precisar de mais diagnósticos.

2 curtidas

Estou muito confuso, esta tem sido uma coluna ignorada por um bom tempo.

@martin precisou removê-la, não é mais algo que usamos.

Você tem uma configuração personalizada? Existem plugins especiais envolvidos? O erro foi algo “transicional” que aconteceu quando a migração foi executada? (Eu esperaria esse erro possivelmente durante a atualização ao vivo da interface web em condições atípicas)

1 curtida

Encontrei o mesmo problema ao atualizar hoje. Adicionar de volta a coluna post_id ajudou a corrigi-lo.

Passos:

  1. Entrar no container do discourse
./launcher enter app
  1. Entrar em psql
sudo -u postgres psql discourse
  1. Adicionar de volta a coluna post_id na tabela bookmarks
ALTER TABLE bookmarks ADD COLUMN post_id int;
2 curtidas

Estou usando a configuração padrão do Docker com alguns plugins, mas consegui reproduzir o problema no modo de segurança. Além disso, os rastros de pilha não contêm referências óbvias a plugins.

Atualizado usando uma reconstrução completa sem erros durante a migração. Também tentei executar novamente as migrações, que não relataram alterações.

1 curtida

Estou confuso…

Você pode tentar

  1. Remover a coluna novamente
  2. Reiniciar seu contêiner ./launcher restart app

O erro persiste?

Adicionar a coluna não deveria ser necessário.

1 curtida

Já tentei reiniciar ao encontrar o erro pela primeira vez. Apenas para verificar, fiz isso novamente e o erro persiste. Um componente de tema pode estar causando problemas? O componente de tema topic-list-preview foi uma das semelhanças que identifiquei entre nossa instância e krita-artists.org mencionado aqui: Oops. The software powering this discussion forum encountered an unexpected problem - #10 by raghukamath

2 curtidas

Um componente de tema é muito improvável que acione isso, qual é a lista completa de plugins que você usa?

Você se importaria de tentar mais uma vez?

1 curtida

Encontrei o problema :partying_face: Afinal, era um problema de plugin :sweat_smile:

Versões anteriores do Topic List Previews (TLP) foram distribuídas como um plugin e, em seguida, divididas em um plugin e um componente de tema. Durante essa divisão inicial, os usuários foram instruídos a carregar o plugin de um novo branch. No entanto, com o tempo, o branch foi abandonado e não foi mais mantido. Após a troca para o fork mantido, tudo funciona novamente.

6 curtidas

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