بعد التحديث الأخير إلى 2.6.0.beta3، تظهر بعض الردود في مواضيع مختلفة بترتيب خاطئ. تظهر الطوابع الزمنية بشكل صحيح، لكن الردود المتأثرة تظهر دائمًا في أسفل الموضوع.
لقد حاولت التحديث مرة أخرى وتشغيل الأمر rake posts:reorder_posts على المواضيع المتأثرة، لكن هذا لم يُحدث أي تأثير. هل هناك أي شيء آخر يمكنني فعله لإعادة ترتيبها بشكل صحيح؟ أم أن هذه مشكلة في برنامج discourse؟ تظهر المنشورات بنفس الشكل لجميع المستخدمين.
عند تشغيل الاستعلام من posts:reorder_posts، يظهر أن ترتيب الترتيب (sort_order) لعدد من المنشورات غريب، ويبدو أن أمر rake يجب أن يقوم بتحديثها، لكنه لا يفعل ذلك.
عند محاولة إعادة إنشاء مهمة rake يدويًا، قمت بتشغيل:
WITH ordered_posts AS (
SELECT
id,
ROW_NUMBER() OVER (
PARTITION BY
topic_id
ORDER BY
created_at,
post_number
) AS new_post_number
FROM
posts
/*where*/
)
SELECT
p.post_number,
p.sort_order,
o.new_post_number
FROM
posts AS p, ordered_posts AS o
WHERE
p.id = o.id
وهو ما يوضح سبب عدم قيام مهمة rake بأي شيء — فهي تعتقد أنه لا يوجد شيء يجب فعله… تحتوي مهمة rake على شرط where إضافي يقارن بين post_number و new_post_number، وليس sort_order.
لقد قمت الآن بتشغيل:
WITH ordered_posts AS (
SELECT
id,
ROW_NUMBER() OVER (
PARTITION BY
topic_id
ORDER BY
created_at,
post_number
) AS new_post_number
FROM
posts
/*where*/
)
UPDATE
posts AS p
SET
sort_order = o.new_post_number
FROM
ordered_posts AS o
WHERE
p.id = o.id AND
p.sort_order <> o.new_post_number
على قاعدة البيانات يدويًا، والآن تظهر المشاركات بالترتيب الصحيح.
أنا أيضًا لا أفهم ذلك، ولم أستطع العثور على أي سبب لذلك عند فحص الكود. يبدو أن شيئًا ما يغير ترتيب الفرز، لكنني لا أستطيع رؤية ماهيته.
ظننت أن الترتيب قد اختل عند إجراء ترقية، حيث كانت الرسائل غير المرتبة بشكل عام أقدم بكثير، وكانت تظهر سابقًا في المكان المتوقع. عندما نفذت استعلام SQL أعلاه، بدا كل شيء على ما يرام، لكن الأسبوع الماضي ظهرت أيضًا بعض المنشورات الجديدة تمامًا بشكل غير مرتب. أعتقد أن المنشورات المتأثرة هي دائمًا ردود على منشور آخر. على سبيل المثال:
أواجه نفس المشكلة. لقد واجهت سابقًا أخطاء 502 عند نقل المنشورات بسبب المواضيع الطويلة، ولا أعرف ما إذا كان لهذا علاقة بالأمر. كما أن لدي إضافة الأسئلة والأجوبة مثبتة، لكنني ما زلت أرى ظهور المنشورات في أسفل المواضيع بعد تعطيلها.
@angus هل يمكنك إلقاء نظرة على هذه المشكلة؟ لقد قمت بتثبيت هذه الإضافة، وبدأت الردود تظهر بشكل غير متسلسل في جميع أنحاء الموقع. لقد قمت بإزالة الإضافة للتو، ولا تزال الردود تظهر بشكل غير متسلسل.
مرحبًا، نأسف لوقوع هذه المشكلة معك. يُرجى نشر أي تحديثات بخصوص هذا الأمر في Question Answer Plugin. سيجيب @mbcahyono أو أنا في أقرب وقت ممكن. هذا ليس سؤالًا عامًا لدعم Discourse.