لقد قمت بنقل منتدى من name.com إلى forum.name.com لكن العملية فشلت:
خطأ: ERROR: duplicate key value violates unique constraint “unique_post_links”
التفاصيل: المفتاح (topic_id, post_id, url)=(246, 813, http://forum.name.com) موجود بالفعل.
تم تطبيق إعادة الربط جزئيًا فقط بسبب الخطأ المذكور أعلاه. يرجى إعادة تشغيل السكربت مرة أخرى.
لذا قمت بتشغيله مرة أخرى (وفشل مرة أخرى)، ثم نفذت أمر rake posts:rebake وفحصت المنتدى فوجدت بعض الحالات التي تحتوي على forum.forum.name.com. (لذا قمت بتنفيذ discourse remap forum.forum.name.com forum.name.com ثم rake posts:rebake لمحاولة إصلاح الأمر - مع بعض النجاح، حيث اضطررت لتغيير بعض الحالات يدويًا).
لدي بعض الأسئلة:
هل أمر discourse remap name.com forum.name.com ينطبق فقط على محتوى المنشورات؟ إذا لم يكن كذلك، هل يجب أن أراجع إعدادات الموقع (Site Settings) فقط للبحث عن المشاكل المحتملة؟
هل يجب تنفيذه ضمن نوع من المعاملات (Transaction)؟ (إذا كان الأمر كذلك، فلم يبدو أنه تم ذلك عندما فشل الأمر لدي).
لقد راجعت جميع إعدادات الموقع وهي على ما يرام (وكذلك السمات)، وأظن أن جميع الخطوات المذكورة أعلاه قد أُجريت. هل يمكنك رؤية أي شيء كان يجب أن يُنفذ ولم يُنفذ؟ هل تعتقد أنه من الآمن المتابعة كما هو، أم تظن أنه يجب إعادة البدء من الصفر؟
أيضاً، هل لديك أي أفكار حول سبب تزايد تكرار أخطاء duplicate key value violates unique constraint في منصة Discourse؟ لقد لاحظت بعض المواضيع حول هذا الأمر، وأعتقد أن هذه هي المرة الثالثة التي أواجه فيها مثل هذه المشكلة بنفسي.
لا، ليس من خلال المخرجات. نحن نعرض فقط الجداول التي تحتوي على تغييرات. لا توجد طريقة لمعرفة ما إذا كان جدول غير موجود في القائمة بسبب خطأ، أم ببساطة لعدم وجود أي حالات لـ name.com في الجدول (غير المدرج).