عذرًا، أنا مبتدئ وغير خبير، ولكن مرة أخرى، بدأت بالنقر ببراءة على ‘تحديث’ في واجهة المستخدم، ثم تم إخراجي إلى ‘قم بإعادة بناء من سطر الأوامر’، ثم فشل ذلك وأنا ألصق مخرجات bash في الذكاء الاصطناعي ليخبرني ما الخطأ.
“يشير الخطأ إلى أن تحديث Discourse فشل لأن المكون الإضافي discourse-data-explorer مدمج الآن مع Discourse core ولا ينبغي تضمينه كمكون إضافي منفصل في ملف تكوين app.yml الخاص بك.”
أعلم أنه ليس ممكنًا دائمًا، ولكن سيكون من الجيد على الأقل الحصول على تحذير مثل “استعد، هذا سيؤلم”. يمكن أن يطيل من متوسط عمري.
الأمر فقط أنني لم أتوقع أن يفشل أول إعادة بناء، لذلك فوجئت بذلك.
كانت الرسالة موجودة، ولكن لأنها كانت في جدار من نصوص السجل، لم أكن واثقًا من أنني سأجد أيًا كانت المشكلة. على حد علمي، كان من الممكن أن يكون استثناءً غامضًا مدفونًا في مكدس استدعاء. بمجرد أن أخبرني الذكاء الاصطناعي، رأيت أنها كانت هناك بالقرب من الأسفل.
أعتقد أن هذا ما يحدث عندما يكون المرء مسؤولًا عن موقع ويب بدوام جزئي: |
كيف يكون التحذير في مكان آخر أفضل من التحذير هناك عندما يقوم كلاهما بنفس الشيء بالضبط ولا يكون لأي منهما تأثير سلبي خارج القراءة؟ السجل هو دائمًا أول مكان يجب أن تنظر إليه إذا كان هناك خطأ…
لا تعتمد درجة تعقيد التحديث على التحديث المحدد، بل تعتمد بشكل أكبر على الإصدار الذي كان عليه منتداك قبل التحديث، وإصدارات Postgres و Redis وجميع المكونات الإضافية لديك.
لذلك، من المستحيل تقريبًا معرفة ما إذا كان التحديث سيؤدي إلى “الألم”.
لقد قمت بتحديثات من 1.8 إلى 3.5 دون مشاكل، وتحديثات من 3.2.1 إلى 3.2.2 كلفتني ساعات لإصلاحها.
أعتقد أن شيئًا واحدًا قد يساعد، هو إذا كانت هذه مشكلة “متوقعة” (أي، ليست شيئًا مدفونًا في مكدس استدعاءات)، هو إحاطتها بـ ---- في إخراج السجل. هذا من شأنه أن يسهل العثور عليها.
أيضًا، النسخ الاحتياطي الخاص بي معطل مرة أخرى منذ التحديث، والعودة إلى الطاحونة بالنسبة لي
لقد عملت بجد وعالجت هذا الأمر يوم السبت، بمساعدة ask.discourse هذه المرة.
اكتشفت أن لدينا إعداد وحدات تخزين غير قياسي، مع وجود التحميلات والنسخ الاحتياطي على قرص ثانوي. والذي لم يكن ليمثل مشكلة، ولكن عندما قمنا بتوسيع قرص البيانات من 20 جيجابايت إلى 30 جيجابايت، أغفلنا إبلاغ نظام الملفات!
مع إصلاح ذلك، أصبح لدي الآن مساحة للتنفس لبضع سنوات أخرى.