أقوم بترقية الإصدار الحالي من Discourse اليوم، والفشل في إعادة البناء، ولست متأكدًا تمامًا مما يسبب ذلك. كان التثبيت متأخرًا ببضع تكرارات (أعتقد 2.8x). تم تحديث صورة Docker بشكل جيد عندما ذهبت لتحديث Discourse، طُلب مني إجراء سحب وإعادة بناء يدوي (في معظم الأحيان يُطلب مني ذلك) ومع ذلك، فشلت إعادة البناء.
إليك نتائج البحث عن “error” باستخدام discourse-doctor. أعتذر عن لقطات الشاشة، يبدو أن عميل VNC المستند إلى الويب الذي لدي لا يدعم النسخ واللصق.
أنا عالق في كيفية بدء إعادة الفهرسة. لقد تمكنت من البدء (على الرغم من أنه لا يمكن الوصول إليه عبر الويب) والدخول إلى التطبيق ولكن لم أحرز أي تقدم من ذلك.\n\n
بالإضافة إلى ما قاله @Canapin، في حال لم تكن قد اكتشفت ذلك بالفعل، يجب أن يكون من السهل جعل أسماء المستخدمين فريدة نظرًا لأنك قد حددت بالفعل أن racerx هو اسم المستخدم المكرر الوحيد.
أولاً، إذا لم تكن قد فعلت ذلك بالفعل، فتأكد من أن racerx2 غير موجود بالفعل حتى لا تنقل المشكلة إلى اسم مستخدم مختلف: (إذا حصلت على معرف، جرب اسم مستخدم مختلف.)
SELECT id FROM users WHERE username_lower = 'racerx2';
بمجرد حصولك على اسم مستخدم غير مستخدم، احصل على معرفات حسابات racerx المكررة:
SELECT id from users WHERE username_lower = 'racerx';
اختر واحداً، لا يهم أي واحد على الرغم من أنني سأستخدم الأعلى، ثم قم بتغيير اسم المستخدم الخاص به: (استبدل racerx2 باسم مستخدم مختلف إذا لزم الأمر و 12345 بمعرف racerx الذي اخترته.)
UPDATE users SET username_lower = 'racerx2' WHERE id = 12345;
تحديث (كان في المسودات لبضعة أيام، آسف) يبدو أنني توصلت إلى الحل. لست متأكدًا مما إذا كان ما فعلته هو النهج الصحيح، ولكنه أعيد بناؤه بنجاح.
وجدت صعوبة في تعديل/إلحاق قيمة racerx في عمود username_lower باستخدام الصيغة، لذا اتبعت طريقة أخرى. من خلال البحث عن معرفات الصفوف وتعديل قيمة username_lower في صف معين.
أولاً، حاولت الحصول على تقرير بأي صفوف في جدول المستخدمين تحتوي على “racerx” في عمود username_lower.
select all from users where username_lower ='racerx';
من هذا، قررت تعديل racerx إلى racerx2، لا أتذكر بالضبط ما كتبته لتحقيق ذلك. أعتقد أنه كان UPDATE SET from users username_lower racerx to racerx2