فشل استعادة النسخة الاحتياطية مع استثناء: خطأ: القيمة طويلة جدًا لنوع character varying(1000)

نحن نستخدم Discourse v3.2.5.

لقد كان هذا يعمل من قبل، ولكن مؤخرًا بدأنا في رؤية مشاكل. فشل الاستعادة من النسخ الاحتياطي مع الاستثناء EXCEPTION: ERROR: value too long for type character varying(1000) عند محاولة إعادة تعيين التحميلات.

[2025-03-18 21:03:24] إعادة الاتصال بقاعدة البيانات…

[2025-03-18 21:03:24] إعادة تحميل إعدادات الموقع…

[2025-03-18 21:03:24] تعطيل رسائل البريد الإلكتروني الصادرة للمستخدمين غير الموظفين…

[2025-03-18 21:03:25] تعطيل وضع القراءة فقط…

[2025-03-18 21:03:25] مسح ذاكرة التخزين المؤقت للفئات…

[2025-03-18 21:03:25] إعادة تحميل الترجمات…

[2025-03-18 21:03:25] إعادة تعيين التحميلات…

[2025-03-18 21:03:27] إعادة التعيين باستخدام التعبير العادي من ‘//s3-bucket-name.s3.amazonaws.com/uploads/’ إلى ‘/uploads/default/’
[2025-03-18 21:03:35] استعادة التحميلات، قد يستغرق هذا بعض الوقت…
[2025-03-18 21:03:37] استثناء: خطأ: القيمة طويلة جدًا لنوع character varying(1000)

تمكنت من إصلاحه عن طريق تغيير character varying لعمود origin في جدول uploads في dump.sql قبل الاستعادة. ومع ذلك، أود أن أعرف كيف كان يعمل سابقًا ولماذا يفشل الآن دون أي تغييرات في قاعدة البيانات أو التطبيق. نرى نفس الخطأ في 3.2.1 و 3.2.5.

لقد وجدت أن مصدر التحميل يتضمن بيانات Amazon الوصفية التي تتضمن رمز الأمان في كل مرة يتم فيها الوصول إلى الكائن. وبالتالي يتجاوز الطول 1000. هل هناك سبب لتضمين البيانات الوصفية في مصدر الكائن وتحديثها في كل مرة يتم فيها الوصول إلى الملف؟ هل يمكننا إزالة البيانات الوصفية من عنوان URL المصدر؟ أو هل يمكننا تحديث قيد character varying من 1000 إلى 2000؟

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