Errore PG durante la ricostruzione: la colonna "token" della relazione "email_tokens" non esiste

Ottenendo:

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

Correlato a?:

1 Mi Piace

Abbiamo anche questo problema.

Per ora, siamo riusciti ad avviare il vecchio container con ./launcher start app dopo il fallimento della ricostruzione, ma non sappiamo se il nostro database sia in uno stato coerente poiché il fallimento si è verificato a metà della migrazione.

Per la nostra tranquillità, è noto se la migrazione del database viene completamente annullata quando si verifica un fallimento come questo?

1 Mi Piace

Anche qui, ripristino un backup di 8 ore fa.

Sembra un bug. Non suppongo che tu abbia impostato SKIP_POST_DEPLOYMENT_MIGRATIONS, vero?

Oppure, come soluzione alternativa, puoi impostarlo su 1 nel tuo app.yml, eseguire la ricostruzione, e poi o cambiarlo di nuovo ed eseguire nuovamente l’aggiornamento o, all’interno del container, impostarlo su zero ed eseguire la migrazione dalla riga di comando.

Grazie per il suggerimento Jay, ma no, non mi risulta che sia impostato in app.yml.

1 Mi Piace

Qualcuno con questo problema può provare a eseguire questo sulla console Rails e condividere il tuo risultato:

./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 Mi Piace

Puoi dare un’occhiata, per favore?
Sembra che ogni ricompilazione abbia questo errore.

1 Mi Piace

Perfetto, grazie @aksoforever - questo conferma il mio sospetto. Penso che questa PR se ne occuperà:

7 Mi Piace

dopo la ricompilazione si verifica ancora l’errore

sembra che debba ricompilare di nuovo, ci provo.

Ci vorranno 10-15 minuti perché quel commit raggiunga il branch tests-passed. Posterò qui quando sarà fatto.

3 Mi Piace

Ok, quel commit è ora attivo in tests-passed

cc @aksoforever @merefield @alexsts @AquaL1te @pfaffman @TechGeek - una ricompilazione dovrebbe funzionare ora. Mi scuso per l’interruzione!

7 Mi Piace

Sì, funziona perfettamente. Grazie David.
Molto, molto utile.

5 Mi Piace

Questo argomento è stato chiuso automaticamente dopo 15 ore. Non sono più consentite nuove risposte.

Ottima osservazione! Grazie David

1 Mi Piace