كيفية نقل جميع مواضيع فئة واحدة إلى وسم جديد

مرحبًا فريق ديسكورش،
هل لدينا أمر سطر أوامر لنقل جميع المواضيع من فئة معينة إلى علامة جديدة؟
هل لدينا أمر سطر أوامر لنقل جميع المواضيع من فئة فرعية إلى الفئة الأب؟

  1. انتقل إلى التصنيف الذي يحتوي على المنشورات التي ترغب في تغييرها
  2. قم بتفعيل أداة التحديد الجماعي (في رأس العمود العلوي الأيسر)
    image
  3. انقر على زر “تحديد الكل”
    image
  4. انقر على أيقونة المفتاح “الإجراءات الجماعية” التي تظهر في الزاوية العلوية اليمنى
    image
  5. انقر على الزر في النافذة المنبثقة لإجراء التغيير المناسب (تعيين التصنيف أو إرفاق/استبدال الوسوم)

شكرًا لك @wesochuck، أعرف هذه الميزة، لكن كل فئة فرعية لدي تحتوي على أكثر من 1000 موضوع، مما يجعل تحميلها وإعدادها صعبًا، لذا أريد فقط إعداد سطر أوامر SSH للاتصال بالخادم. شكرًا للجميع!

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

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

تحرير: إليك بداية:

 Topic.where(category_id: CURRENT_ID).update_all(category_id: NEW_ID)

يجب أن تأخذ نسخة احتياطية قبل القيام بذلك!

شكرًا لك! لقد قمت بنقل الفئة الفرعية بنجاح إلى الفئة الأصلية. أريد إدراج وتحديث جميع المواضيع التي تحتوي على كلمة مفتاحية إلى وسم. أعرف القليل عن وحدة التحكم (console) لكن ذلك لم يكن فعالًا. هل يمكنك إصلاح أمر وحدة التحكم ليصبح كما يلي:

Topic.where(“quận 1 dt”).update_all(tags=“quận-1”)

rake posts:update_tag[“quận 1 dt”,“quận-1”]

أريد تنفيذ هذا الإجراء عبر وحدة التحكم لأن لدي الآلاف من المواضيع في منصة Discourse التي تحتاج إلى استبدال. ما هي وحدة التحكم المناسبة لتنفيذ هذه الميزة؟ شكرًا لك!

آسف جدًا! لست مطورًا ولا أتقن استخدام وحدة تحكم Rails باحترافية، لكنني سأحاول المزيد من الدراسة. شكرًا جزيلاً!

مرحبًا،
لقد نفذت هذا الأمر ولكن لم يكن له أي تأثير، هل يمكنك مساعدتي في إصلاحه؟

Topic.where(category_id: CURRENT_ID).update_all(tags: ‘quan-1’)

أقوم بتشغيل هذا الأمر ولكن دون تأثير

UPDATE “topics” SET “tag” = ‘quan-1’ WHERE (“topics”.“deleted_at” IS NULL) AND “topics”.“category_id” = 2752

هل يمكننا إدراج أو تحديث وسم للموضوع عبر وحدة التحكم أدناه؟

UPDATE topics SET tag = ‘tag_content’ WHERE topics.category_id = Category_ID_wanna

مرحبًا بكم في Discourse،
هل يمكننا تعيين وسم لجميع المواضيع التي تحتوي على نص معين، وما هو الأمر الذي يمكنه القيام بذلك؟
مثال:

UPDATE topics SET tag = 'tag_content' WHERE topics.content = "a string"

هل هذا ممكن؟ :slight_smile:

نعم، توجد تعليمات للقيام بذلك هنا: Administrative Bulk Operations.

هذا رائع، لكنه لا ينقل موضوع التصنيف (الموضوع الافتراضي الذي يحتوي على معلومات عنه)، وهو ما وجدته غريبًا، ناهيك عن أنني لا أستطيع العثور على أي طريقة لنقل هذا الموضوع فعليًا.

عند إنشاء فئة في Discourse، يتم إنشاء موضوع “حول” تلقائيًا للفئة. لا يمكن نقل هذا الموضوع. ومع ذلك، يمكنك نسخ محتوى موضوع “حول” الخاص بالفئة يدويًا إلى موضوع “حول” الخاص بالفئة الجديدة.

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

أقدم هذا فقط كغذية راجعة لكي تكون على علم بذلك.

شكرًا لك! هذه ملاحظات مفيدة. لا يوجد أي شيء معروض في واجهة مستخدم Discourse يخبرك لماذا لا يمكن نقل مواضيع “حول”.