لا يمكن حذف الوسم بـ 2000 موضوع

أعتقد أن هناك طريقتين لإزالة تلك العلامات من المواضيع المرتبطة بها في وحدة تحكم Rails، إحداهما “ألطف” من الأخرى. من الجيد إجراء نسخة احتياطية أولاً - انظر هنا حول إجراء أوامر Rails: Administrative Bulk Operations.


  1. لكل علامة، أدخل وحدة تحكم Rails:
cd /var/discourse
./launcher enter app
rails c
  1. ابحث عن العلامة وأزلها من مواضيعها
TAG_NAME = "your_tag_name"   # استبدل باسم العلامة الخاص بك
TAG = Tag.find_by(name: TAG_NAME)
Topic.joins(:tags).where(tags: { name: TAG_NAME }).each do |topic|
  topic.tags.delete(TAG)
  topic.save
end
  1. كرر للعلامة الثانية
  2. بعد ذلك، يجب أن تكون قادرًا على إزالة تلك العلامات عبر واجهة المستخدم

طريقة أسرع بديلة وأكثر خطورة (سأفعل الطريقة المذكورة أعلاه بنفسي)

ولكن بدلاً من الخطوتين 2 و 4، أعتقد أنه يمكنك أيضًا القيام بذلك لكل علامة بعد إدخال وحدة تحكم Rails.

t = Tag.find_by_name('your_tag_name')
t.destroy!
3 إعجابات