Richie
(Richie Rich)
25 فبراير 2023، 5:23م
1
لقد قمت بتعديل مجموعة موجودة وضبطت قيمة مستوى الثقة الممنوح تلقائيًا للأعضاء عند إضافتهم إلى 2، لذلك سيتم توجيه جميع أعضاء هذه المجموعة إلى مستوى الثقة 2 عند إضافتهم إلى المجموعة:
ومع ذلك، فإنه لا يضيف بأثر رجعي جميع أعضاء المجموعة الحاليين إلى مستوى الثقة 2
كيف يمكنني فرض حدوث ذلك؟
أو كيف يمكنني ترقية جميع أعضاء المجموعة بأثر رجعي إلى مستوى الثقة 2؟
3 إعجابات
Canapin
(Coin-coin le Canapin)
25 فبراير 2023، 5:38م
2
هذا الحل متقدم. لا يمكن تنفيذ أوامر Rails إلا إذا كان لديك وصول SSH إلى الخادم الخاص بك ويجب تجنبها إذا لم تكن متأكدًا مما تفعله. في أي حال، قم دائمًا بعمل نسخة احتياطية أولاً.
مرحبًا ريتشي
يمكنك استخدام نص برمجي لـ Rails مشابه لهذا:
يجب أن ينجح ذلك من وحدة تحكم Rails:
target_group = Group.find_by_name("test")
users = User.joins(:group_users).where(group_users:{group_id: target_group.id})
users.each do |u|
u.trust_level = 2
u.save
end
شكرًا @nathank على Delete all users not in a specific group - #2 by nathank
3 إعجابات
Richie
(Richie Rich)
25 فبراير 2023، 7:51م
3
شكراً @Canapin
أنا لست على دراية بوحدة تحكم rails على الإطلاق، لكنني قمت بتشغيل ما نشرته هنا وهي الآن عالقة عند END وتومض مؤشرًا أمامي:
هل أحتاج إلى تثبيت هذا التغيير بطريقة ما؟
(لم يتم ترقيتهم إلى TL2)
إعجاب واحد (1)
Canapin
(Coin-coin le Canapin)
25 فبراير 2023، 7:57م
4
لا، هذا مجرد خرج لا يؤثر على تنفيذ البرنامج النصي. أعتقد أنه يمكنك الضغط على q للخروج منه.
يمكنك أيضًا استخدام هذا:
ruby-on-rails, ruby, irb
قد يكون مرتبطًا بجزء Group.find_by_name("test"). لا أعرف ما إذا كان يقبل اسم المجموعة الفعلي، أو الاسم المستعار.
أيضًا، كان يجب أن أذكر أن استخدام أوامر rails متقدم جدًا ويجب عمل نسخة احتياطية قبل القيام بهذا النوع من الأشياء. أنا آسف لذلك.
إعجابَين (2)
Richie
(Richie Rich)
25 فبراير 2023، 8:00م
7
هممم، لقد حدث شيء غريب.
إذا نظرت إلى مستخدم كان في المستوى 1 قبل تشغيل هذا السكربت، أرى أنه أصبح الآن في المستوى 2 (وهو أمر رائع، شكرًا جزيلاً لك!)
ولكن، إذا نظرت إلى مجموعة المستخدمين في المستوى 2، فإن العدد الإجمالي للمستخدمين في المجموعة لم يزد
وبالمثل، إذا بحثت عن أحد المستخدمين الذين تمت ترقيتهم للتو إلى المستوى 2، فلن يظهروا في نتائج البحث لمجموعة المستوى 2:
أيضًا، لم يحصل المستخدم على شارة المستوى 2:
إعجاب واحد (1)
Canapin
(Coin-coin le Canapin)
25 فبراير 2023، 8:03م
10
يتم تحديث المجموعات أثناء مهمة Sidekiq.
المهمة هي EnsureDbConsistency ويمكن تشغيلها عبر Sidekiq، إذا كنت تعرف كيفية القيام بذلك. يمكنك أيضًا الانتظار بضع ساعات؛ سيتم تحديث المجموعات تلقائيًا.
لقد اكتشفت ذلك هنا:
I figured it out.
The sidekiq task which triggers the trust level groups population is EnsureDbConsistency.
After updating users trust levels from command line (either gaining or losing trust levels), EnsureDbConsistency will move users in and out from these groups.
3 إعجابات
Richie
(Richie Rich)
25 فبراير 2023، 8:05م
12
رائع، شكراً لك!
سأنتظر بصبر حتى يتم حل المشكلة من تلقاء نفسها
شكراً لوقتك @Canapin - ولحلك - لقد وفرت عليّ الكثير من الوقت بالقيام بذلك يدوياً
إعجاب واحد (1)
Canapin
(Coin-coin le Canapin)
25 فبراير 2023، 8:06م
13
على الرحب والسعة.
لقد كنت سريعًا جدًا في اقتراح أمر rails دون تحذير مناسب لأنه يمكن أن يسوء إذا لم نكن نعرف حقًا ما نفعله. سأضيف تحذيرًا أكثر وضوحًا إلى منشوري
3 إعجابات
Richie
(Richie Rich)
25 فبراير 2023، 9:45م
16
يبدو أن مهمة Rails هذه قد خفضت رتبة جميع المستخدمين لدينا من المستوى 4 والمستوى 3 إلى المستوى 2
آمل أن تقوم مهمة EnsureDbConsistency بإصلاحهم جميعًا تلقائيًا بين عشية وضحاها
إعجاب واحد (1)
Stephen
(Stephen)
25 فبراير 2023، 9:49م
17
سيتم ذلك، سيتم ترقية مستخدمي TL3 بافتراض أنهم لا يزالون يستوفون المعايير.
سيحتاج مستخدمو TL4 إلى ترقية يدوية.
لتجنب ذلك، يحتاج كل مستخدم إلى تقييمه حسب البيان وترقيته فقط إذا كان حاليًا أقل من TL2.
إذا كان مستخدمو TL4 لديك أعضاء في مجموعة أيضًا، فيمكنك استخدام ذلك لترقيتهم دفعة واحدة.
3 إعجابات
Richie
(Richie Rich)
25 فبراير 2023، 9:56م
18
معلومات رائعة، شكرًا @Stephen سأقوم بذلك الآن
3 إعجابات
Richie
(Richie Rich)
26 فبراير 2023، 6:28ص
19
كل شيء يبدو رائعًا هذا الصباح
شكرًا مرة أخرى @Canapin و @Stephen
3 إعجابات
system
(system)
تم إغلاقه في
28 مارس 2023، 6:29ص
20
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.