Erro PG na reconstrução - a coluna "token" da relação "email_tokens" não existe

Recebendo:

2021-12-13 08:57:12.809 UTC [902] discourse@discourse ERRO:  coluna "token" da relação "email_tokens" não existe
2021-12-13 08:57:12.809 UTC [902] discourse@discourse DECLARAÇÃO:  ALTER TABLE email_tokens ALTER COLUMN token DROP NOT NULL

rake abortou!
StandardError: Ocorreu um erro, esta e todas as migrações posteriores foram canceladas:

PG::UndefinedColumn: ERRO:  coluna "token" da relação "email_tokens" não existe

Relacionado a?:

1 curtida

Também temos este problema.

Por enquanto, conseguimos iniciar o contêiner antigo com ./launcher start app após a falha na reconstrução, mas não sabemos se nosso banco de dados está em um estado consistente, já que a falha ocorreu no meio da migração.

Para nossa tranquilidade, é sabido se a migração do banco de dados é totalmente revertida quando uma falha como essa ocorre?

1 curtida

O mesmo aqui, voltando um backup de 8 horas atrás.

Parece um bug. Suponho que você não tenha o SKIP_POST_DEPLOYMENT_MIGRATIONS definido, certo?

Ou, talvez como uma solução alternativa, você possa defini-lo como 1 em seu app.yml, executar a reconstrução e, em seguida, alterá-lo de volta e atualizar novamente ou, dentro do contêiner, defini-lo como zero e migrar na linha de comando.

Obrigado pela sugestão Jay, mas não, aparentemente não tenho isso definido em app.yml.

1 curtida

Alguém com este problema pode tentar executar isto no console do Rails e partilhar o seu resultado:

./launcher enter app
rails c

DB.query "SELECT table_schema, table_name, column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name='email_tokens' AND column_name='token';"
1 curtida

Você poderia dar uma olhada?
Parece que toda reconstrução tem este erro.

1 curtida

Perfeito, obrigado @aksoforever - isso confirma minha suspeita. Acho que este PR deve resolver isso:

7 curtidas

após a reconstrução ainda tenho o erro

parece que preciso reconstruir novamente, vou tentar.

Levará de 10 a 15 minutos para que esse commit chegue ao branch tests-passed. Postarei aqui quando terminar.

3 curtidas

Ok, esse commit já está ativo em tests-passed

cc @aksoforever @merefield @alexsts @AquaL1te @pfaffman @TechGeek - uma reconstrução deve funcionar agora. Desculpe pela interrupção!

7 curtidas

Sim, funciona perfeitamente. Obrigado, David.
Muito, muito útil.

5 curtidas

Este tópico foi fechado automaticamente após 15 horas. Novas respostas não são mais permitidas.

Ótima observação! Obrigado, David.

1 curtida