PG-Fehler beim Neuerstellen – Spalte „token“ der Relation „email_tokens“ existiert nicht

Erhalten:

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

Bezieht sich auf?:

1 „Gefällt mir“

Wir haben auch dieses Problem.

Vorerst konnten wir den alten Container mit ./launcher start app nach dem fehlgeschlagenen Neuerstellen starten, aber wir wissen nicht, ob unsere Datenbank in einem konsistenten Zustand ist, da der Fehler auf halbem Weg während der Migration aufgetreten ist.

Zu unserer Beruhigung: Ist bekannt, ob die Datenbankmigration vollständig zurückgerollt wird, wenn ein solcher Fehler auftritt?

1 „Gefällt mir“

Bei mir auch, ich spiele ein Backup von vor 8 Stunden ein.

Klingt nach einem Fehler. Ich nehme nicht an, dass Sie SKIP_POST_DEPLOYMENT_MIGRATIONS gesetzt haben, oder?

Oder vielleicht können Sie es als Workaround in Ihrer app.yml auf 1 setzen, den Rebuild ausführen und es dann entweder zurückändern und erneut upgraden oder innerhalb des Containers auf Null setzen und die Migration über die Befehlszeile durchführen.

Danke für den Vorschlag Jay, aber nein, ich scheine dies nicht in app.yml gesetzt zu haben.

1 „Gefällt mir“

Könnte bitte jemand mit diesem Problem versuchen, dies in der Rails-Konsole auszuführen und sein Ergebnis zu teilen:

./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 „Gefällt mir“

Können Sie bitte nachsehen?
Anscheinend hat jeder Rebuild diesen Fehler

1 „Gefällt mir“

Perfekt, danke @aksoforever – das bestätigt meinen Verdacht. Ich glaube, dieser PR wird das Problem beheben:

7 „Gefällt mir“

Nach dem erneuten Erstellen besteht der Fehler weiterhin

Anscheinend muss ich es erneut erstellen, ich werde es versuchen.

Es dauert 10-15 Minuten, bis dieser Commit den tests-passed-Branch erreicht. Ich werde hier posten, wenn er fertig ist.

3 „Gefällt mir“

Ok, dieser Commit ist jetzt in tests-passed live
cc @aksoforever @merefield @alexsts @AquaL1te @pfaffman @TechGeek - ein Rebuild sollte jetzt funktionieren. Entschuldigung für die Störung!

7 „Gefällt mir“

Ja, funktioniert perfekt. Danke David.
Sehr, sehr hilfreich.

5 „Gefällt mir“

Dieses Thema wurde nach 15 Stunden automatisch geschlossen. Neue Antworten sind nicht mehr gestattet.

Tolle Beobachtung! Danke, David

1 „Gefällt mir“