يُعرض معظم الوظائف في forum.example.com/sidekiq/scheduler. على سبيل المثال، إذا قمت بتعديل استعلام الشارة، يمكنك الانتظار يومًا حتى يتم تنفيذ وظيفة BadgeGrant، أو يمكنك تسريعها عن طريق الضغط على زر Trigger يدويًا. لا أعرف أي من هذه الوظائف يقوم بتحديث الأوسمة.
لم نقم بالتحديث إلى أحدث إصدار بعد، إذ لا توجد تغييرات تهدف إلى إصلاح هذه الخلل.
في حالتنا، تظل شارات المستخدمين دون تغيير عند تحديث المجموعات عبر نظام Discourse Connect SSO. نلاحظ أن المستخدم غير موجود في المجموعة، لكن الشارة لا تزال ظاهرة.
واو. حسنًا، لا أعرف التقديرات. بناءً على تدفقات البيانات لدينا، قد يكون هناك عشرات ومئات من المستخدمين يغادرون أو ينضمون إلى مجموعات محددة عبر SSO كل يوم. على أي حال، هل يمكنني عد المستخدمين الذين يحملون شارات قديمة (غير مرتبطة بالمجموعات)؟
وكيف يمكن للمرء حتى تعديل شارات المستخدمين الآخرين؟ لم أتمكن من العثور على مثل هذا الخيار في لوحة الإدارة. لا أقول إنني سأقوم بتحديث عدد كبير من المستخدمين واحدًا تلو الآخر لإزالة آثار هذه الأخطاء.
على أي حال، إزالة الشارة من إعدادات المجموعة ورفع صورة شارة أخرى لا يفيد. لا يزال المستخدمون خارج هذه المجموعة يحتفظون بشارة المجموعة :(.
شكرًا لك على الرد.
هل فهمي صحيح بأنه، نظرًا لتأثيرات هذا الخطأ، يجب علينا تنفيذ استعلامات مثل هذه بشكل يومي أو بتردد آخر؟ المشكلة هي أن مجموعة المستخدمين لدينا يتم تحديثها يوميًا + في كل مرة يتغير فيها حالة اشتراك المستخدم على الموقع الرئيسي. يتم كل ذلك عبر SSO.
@kinetiksoft أدناه كود Rails يجب أن يحل المشكلة لجميع الأعضاء في كل مجموعة. سيؤدي إلى إزالة تمييز المجموعة من المستخدمين إذا لم يعودوا ينتمون إلى مجموعة التمييز هذه.
ملاحظة: لا حاجة لتشغيل هذا السكربت بشكل دوري. إنه إصلاح لمرة واحدة لهؤلاء المستخدمين المتأثرين القدامى. قم بنسخ احتياطي كإجراء احترازي قبل تشغيله.
User.joins("LEFT OUTER JOIN group_users ON group_users.user_id = users.id AND group_users.group_id = users.flair_group_id").where(group_users: { id: nil }).where.not(flair_group_id: nil).update_all(flair_group_id: nil)
شكرًا لك! سأخبرك بمجرد تشغيل الاستعلام، وسأقدم بعض التحديثات في الأيام القادمة للتأكد من عدم وجود أي تناقض بين العلاقات بين الشارات والمجموعات بعد ذلك.
رائع، بالتأكيد، سأقوم بمراجعة الالتزامات القادمة في قسم الترقية.
هل يجب أن ننتظر مع استعلام SQL المذكور أعلاه أم يمكننا المضي قدمًا به دون انتظار دمج الالتزام في مثيل discourse الخاص بنا؟