Error de PG en la reconstrucción - la columna "token" de la relación "email_tokens" no existe

Obteniendo:

2021-12-13 08:57:12.809 UTC [902] discourse@discourse ERROR:  column "token" of relation "email_tokens" does not exist
2021-12-13 08:57:12.809 UTC [902] discourse@discourse STATEMENT:  ALTER TABLE email_tokens ALTER COLUMN token DROP NOT NULL

rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:

PG::UndefinedColumn: ERROR:  column "token" of relation "email_tokens" does not exist

¿Relacionado con?:

1 me gusta

También tenemos este problema.

Por ahora, logramos iniciar el contenedor antiguo con ./launcher start app después de que la reconstrucción fallara, pero no sabemos si nuestra base de datos está en un estado consistente, ya que el fallo ocurrió a mitad de la migración.

Para nuestra tranquilidad, ¿se sabe si la migración de la base de datos se revierte completamente cuando ocurre un fallo como este?

1 me gusta

A mí también, estoy revirtiendo una copia de seguridad de hace 8 horas.

Suena como un error. No supongo que tengas SKIP_POST_DEPLOYMENT_MIGRATIONS configurado, ¿verdad?

O, tal vez como solución alternativa, puedes configurarlo en 1 en tu app.yml, ejecutar la reconstrucción, y luego cambiarlo de nuevo y actualizar de nuevo o dentro del contenedor, configurarlo en cero y migrar en la línea de comandos.

Gracias por la sugerencia Jay, pero no, no parece que lo tenga configurado en app.yml.

1 me gusta

¿Alguien con este problema puede intentar ejecutar esto en la consola de Rails y compartir su 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 me gusta

¿Podrías echar un vistazo?
Parece que cada reconstrucción tiene este error.

1 me gusta

Perfecto, gracias @aksoforever - eso confirma mi sospecha. Creo que este PR se encargará de ello:

7 Me gusta

después de la reconstrucción todavía tengo el error

parece que necesito reconstruir de nuevo, déjame intentarlo.

Tardará entre 10 y 15 minutos para que ese commit llegue a la rama tests-passed. Publicaré aquí cuando esté hecho.

3 Me gusta

Ok, ese commit ya está activo en tests-passed

cc @aksoforever @merefield @alexsts @AquaL1te @pfaffman @TechGeek - una reconstrucción debería funcionar ahora. ¡Disculpen las interrupciones!

7 Me gusta

Sí, funciona perfecto. Gracias David.
Muy, muy útil.

5 Me gusta

Este tema se cerró automáticamente después de 15 horas. Ya no se permiten nuevas respuestas.

¡Oh, gran acierto! Gracias David

1 me gusta