خطأ PG عند إعادة البناء - العمود "token" للعلاقة "email_tokens" غير موجود

الحصول على:

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

متعلق بـ؟:

لدينا هذه المشكلة أيضًا.

في الوقت الحالي، نجحنا في بدء الحاوية القديمة باستخدام ./launcher start app بعد فشل إعادة البناء، ولكننا لا نعرف ما إذا كانت قاعدة بياناتنا في حالة متسقة نظرًا لأن الفشل حدث في منتصف الترحيل.

من أجل راحة بالنا، هل من المعروف ما إذا كان ترحيل قاعدة البيانات يتم التراجع عنه بالكامل عند حدوث فشل كهذا؟

نفس الشيء هنا، جارٍ التراجع عن نسخة احتياطية من 8 ساعات مضت.

يبدو أن هذا خطأ. لا أفترض أن لديك SKIP_POST_DEPLOYMENT_MIGRATIONS مضبوطة، أليس كذلك؟

أو ربما كحل بديل، يمكنك ضبطها على 1 في ملف app.yml الخاص بك، وتشغيل إعادة البناء، ثم إما تغييرها مرة أخرى والترقية مرة أخرى أو داخل الحاوية، وضبطها على صفر وترحيلها على سطر الأوامر.

شكرًا على الاقتراح يا جاي، ولكن لا، لا يبدو أن لدي هذا معينًا في app.yml.

من فضلكم، هل يمكن لشخص لديه هذه المشكلة أن يجرب تشغيل هذا على وحدة تحكم Rails، ويشارك نتيجتك:

./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';"

هل يمكنك إلقاء نظرة من فضلك
يبدو أن كل إعادة بناء بها هذا الخطأ

ممتاز، شكرًا @aksoforever - هذا يؤكد شكي. أعتقد أن طلب السحب هذا سيعالج الأمر:

بعد إعادة البناء لا يزال الخطأ موجودًا

يبدو أنني بحاجة إلى إعادة البناء مرة أخرى، دعني أجرب ذلك.

سيستغرق الأمر 10-15 دقيقة حتى يصل هذا الالتزام إلى الفرع tests-passed. سأنشر هنا عند الانتهاء.

حسنًا، تم نشر هذا الالتزام الآن في tests-passed

نسخ @aksoforever @merefield @alexsts @AquaL1te @pfaffman @TechGeek - يجب أن يعمل إعادة البناء الآن. آسف على الإزعاج!

نعم، يعمل بشكل مثالي. شكراً ديفيد.
مفيد جداً جداً.

يا لها من ملاحظة رائعة! شكرًا ديفيد