DuplicateColumn وتعدد المواقع: فشل الترحيل

فشل الترقية من 2.9.0.beta2 إلى 2.9.0.beta4 مع رسالة الخطأ PG::DuplicateColumn: ERROR: column "bookmarkable_id" of relation "bookmarks" already exists. ساعدتني النصيحة الموجودة في Recovering from failed/partially applied upgrade في العودة للعمل مرة أخرى. أبدأ موضوعًا جديدًا لأن هذه المشكلة تبدو خاصة بتثبيت متعدد المواقع (يعمل عبر Docker).\n\nتبدو المشكلة في أن multisite:migrate يحاول تشغيل نفس الترحيل الذي تم تشغيله بالفعل كجزء من عمليات الترحيل السابقة. كانت النتيجة PG::DuplicateColumn: ERROR: column "bookmarkable_id" of relation "bookmarks" already exists. بناءً على رسالة الخطأ، قد يكون هذا متعلقًا بميزة الإشارات المرجعية متعددة الأشكال، DEV: Re-add polymorphic bookmark columns by martin-brennan · Pull Request #16261 · discourse/discourse · GitHub (تنبيه @martin؟).\n\nبعد مواجهة المشكلة، كان علاجي السريع وغير المتقن هو:\n\n1) التعليق على السطر - exec: cd /var/www/discourse \u0026\u0026 sudo -E -u discourse bundle exec rake multisite:migrate في ملف التكوين containers/web_only.yml.\n2) إسقاط عمليات الترحيل المتعلقة بالإشارات المرجعية (التي تم تطبيقها جزئيًا؟) يدويًا: ./launcher enter data واستخدام psql لتسجيل الدخول إلى كلتا قاعدتي بيانات Discourse وتشغيل ALTER TABLE bookmarks DROP COLUMN bookmarkable_id, DROP COLUMN bookmarkable_type;\n3) إعادة تشغيل إعادة البناء: ./launcher rebuild web_only 2\u003e\u00261\n\nما الذي قد أكون أفتقده الآن بعد عدم تنفيذ multisite:migrate؟ أقدر أي أفكار. كلا الموقعين يعملان على ما يبدو على الرغم من ذلك. :crossed_fingers:

إعجاب واحد (1)

أعتقد حينها أن ما سأفعله هو تشغيل ترقية أخرى والقيام بذلك إذا كنت قد تجاوزت الخطر.

هل لديك أي أفكار حول سبب قيامك بذلك؟ أو أي إرشادات حول ما يمكن توقعه من تشغيل ترحيل المواقع المتعددة؟ كما ترى، لديّ نفور من تشغيل البرامج النصية التي لا أفهمها. :slightly_smiling_face:

لأنك على الأقل تعرف إلى حد ما كيفية إصلاحه وستنسى تمامًا عند ترقية الإصدار في المرة القادمة (إذا كنت تشبهني). أنا متأكد من أن هذا سيعمل، حيث أعتقد أن هذا ما رآه الآخرون عندما قاموا بإصلاح هذه المشكلة

إعجاب واحد (1)

منطقي، يبدو أنك لم تقم بتشغيل ما بعد الترحيل لإزالة الأعمدة التي كانت موجودة في الأصل، والتي قمت بإزالتها في DEV: Re-add polymorphic bookmark columns by martin-brennan · Pull Request #16261 · discourse/discourse · GitHub. قد أحتاج فقط إلى التحقق من الأعمدة قبل إعادة إضافتها هنا discourse/db/migrate/20220322024216_add_bookmark_polymorphic_columns.rb at 037172beaae0743176eee653bd2cd4cd1ce5c7e9 · discourse/discourse · GitHub ، وسأقوم بعمل التزام بذلك.

تم للتو دمج التزام من شأنه أن يساعد:

4 إعجابات