هناك بعض الوسوم المكررة بسبب تلف قاعدة البيانات ولا يمكنني دمجها

كما يظهر في الصورة، توجد في منتدانا بعض الوسوم المتطابقة تماماً!

عند إنشاء موضوع، ستلاحظ ظهور عدد مختلف من المواضيع تحت هذه الوسوم:

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

هذا هو مثال على موضوع في منتدانا يحتوي على مجموعتين من الوسوم المكررة.

واجهتُ مشكلةً مماثلةً كانت بسبب تلف في الفهرس.

لا أعرف ما إذا كان هذا سيساعد: Can't restore due to corrupt indexes (with some clues on how to deal with corrupt indexes)

@neil هل لديك أي أفكار حول هذا؟ هل هذا أثر جانبي للمرادفات؟

غير مرجح، فقد رأينا العديد من الفهارس التالفة والإضافات الخارجية السيئة تسبب ذلك.

يبدو الأمر مطابقًا لهذا الموضوع:

يوجد فهرس فريد على عمود اسم الوسم، لذا لا ينبغي أن يكون من الممكن وجود وسوم مكررة. أظن أنه إذا قمت بتشغيل أمر reindex table tags سيفشل.

من المرجح أن العملية التي حددها @pfaffman هنا هي ما ستحتاج إلى القيام به لإزالة الوسوم المكررة وإصلاح الفهارس.

هذه قائمة الإضافات التي نملكها، وأظن أن أياً منها لا علاقة له بالوسوم:

لقد قمت بإزالتها يدوياً! أو لنقل، تمكنت من إزالة أحد النسخ المكررة من كل زوج؛ ثم أصبحت صفحة الوسم الآخر في الزوج غير قابلة للوصول (حتى للمسؤولين)! فعند الانتقال إلى الصفحة، تظهر رسالة “هذه الصفحة غير موجودة أو خاصة”، رغم وجود عدة مواضيع تحمل ذلك الوسم.

مثال على ذلك هو الوسم یادگیری الذي يجب أن يحتوي على 488 موضوعاً، بينما صفحة الوسم غير موجودة (رابط إلى صفحة الوسم):

image

ملاحظة: آسف لأن الصفحات والوسوم ليست باللغة الإنجليزية. آمل أن يكون ذلك دليلاً مفيداً.

يبدو أنك قمت بذلك عبر واجهة المستخدم، لكن لا يمكن إجراؤها بهذه الطريقة. كما فعل جاي، تحتاج إلى تحديث جميع المواضيع التي تستخدم أحد الوسوم لاستخدام الوسم الآخر، مثل ما ورد في مثالِه:

TopicTag.where(tag_id: 717).update_all(tag_id: 611)

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

أصف كيف قمت بذلك (أو شيئًا مشابهًا) في Can't restore due to corrupt indexes (with some clues on how to deal with corrupt indexes) - #14 by pfaffman. إنه بعيد كل البعد عن كونه دليلًا، لكنه قد يساعد. يجب عليك التبديل بين وحدة تحكم Rails و psql، وهو ما قد يكون محيرًا أو مخيفًا إذا لم تكن معتادًا على كليهما. إذا لم تنجح هذه الطريقة ولديك ميزانية، فقد قمت بذلك مؤخرًا. :wink:

لا أعتقد أن تلف الفهرس ناتج عن إضافة. لقد رأيت هذا النوع من تلف فهرس PSQL خمس مرات في الأشهر القليلة الماضية، وكان أربعة منها تستخدم إعدادات اللغة الفارسية.

أنا أيضاً أعتقد أن هذه مشكلة #contribute:bug، والأسوأ هو أنها مستمرة! بغض النظر عن أنني حذفت التكرارات السابقة، أحصل على تكرارات جديدة مرة أخرى. إذا كان ذلك يساعد، يمكنني إزالة الإضافات غير الرسمية والتحقق من ظهور تكرارات جديدة.

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

ولكن حالة @Pfaffman كانت لمؤشرات إنجليزية، وليس فارسية!

نعم، هذا هو الوحيد (الوحيد) غير الفارسي الذي أعرفه.