Comment déplacer tous les sujets d'une catégorie vers un nouveau tag

Bonjour équipe Discourse,

Disposons-nous d’une interface en ligne de commande pour déplacer tous les sujets d’une catégorie vers une nouvelle balise ?

Disposons-nous d’une interface en ligne de commande pour déplacer tous les sujets d’une sous-catégorie vers la catégorie parente ?

  1. Accédez à la catégorie contenant les publications que vous souhaitez modifier
  2. Activez l’outil de sélection en masse (en-tête de la colonne en haut à gauche)
    image
  3. Cliquez sur le bouton Tout sélectionner
    image
  4. Cliquez sur l’icône en forme de clé à molette des actions en masse qui apparaît en haut à droite
    image
  5. Cliquez sur le bouton dans la fenêtre contextuelle pour effectuer la modification appropriée (Définir la catégorie ou Ajouter/Remplacer les tags)

Merci @wesochuck, je connais cette fonctionnalité, mais chaque sous-catégorie a plus de 1000 sujets, ce qui rend leur chargement et leur configuration difficiles. Je souhaite donc configurer uniquement une ligne de commande SSH vers le serveur. Merci à tous !

Il y a d’autres sujets ici avec des exemples de commandes Rails pour sélectionner un ensemble de publications et effectuer une action sur celles-ci. Comme vous n’avez pas encore de réponse, vous pourriez les consulter.

J’ai été trop occupé pour consacrer du temps libre à ce sujet moi-même. Si cela a une valeur financière pour vous, je pourrais le faire pour 200 $ aujourd’hui ou la moitié de ce montant lundi.

MODIFICATION : Voici un début :

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

Pensez à faire une sauvegarde avant de procéder !

Merci ! J’ai déplacé la sous-catégorie vers la catégorie parente avec succès.
Je souhaite insérer et mettre à jour tous les sujets contenant un mot-clé vers une balise. Je connais un peu la console, mais cela n’a pas eu d’effet. Pouvez-vous corriger la console comme suit :

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

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

Je souhaite effectuer cette action via la console, car mon Discourse contient des milliers de sujets à remplacer. Quelle console utiliser pour cette fonctionnalité ? Merci !

Toutes mes excuses ! Je ne suis pas développeur et je ne maîtrise pas la console Rails de manière professionnelle, mais je vais essayer d’apprendre davantage. Merci beaucoup !

Bonjour,
J’ai exécuté cette commande mais elle n’a aucun effet. Pouvez-vous m’aider à corriger cette commande ?

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

J’exécute cette commande mais sans effet

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

Pouvons-nous insérer ou mettre à jour une balise pour un sujet via la console ci-dessous ?

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

Bonjour Discourse,
peut-on attribuer un tag à tous les sujets contenant une chaîne de caractères, et quelle commande permet de le faire ?
exemple :

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

Est-ce possible ? :slight_smile:

Oui, les instructions pour le faire se trouvent ici : Administrative Bulk Operations.

C’est super, mais cela ne déplace pas le fil de la catégorie (celui par défaut qui contient les informations à son sujet), ce que j’ai trouvé étrange, sans parler du fait que je ne trouve aucun moyen de déplacer ce sujet.

Lorsque vous créez une catégorie sur Discourse, un sujet « À propos » est automatiquement créé pour cette catégorie. Ce sujet ne peut pas être déplacé. Vous pouvez cependant copier manuellement le contenu du sujet « À propos » de la catégorie vers celui de la nouvelle catégorie.

Je comprends ce que tu dis et j’ai à peu près saisi le principe, mais ce n’est pas évident de voir pourquoi ce serait le cas. C’est un sujet qui contient du contenu qui pourrait être déplacé si je déplace tout vers une nouvelle catégorie. J’avais du contenu utile dans ces sujets et je les condense simplement parce que j’ai découvert plus tard la limitation concernant l’imbrication des catégories.

Je te donne juste ce retour pour que tu sois au courant.

Merci ! Ce sont des commentaires utiles. Aucune information n’est affichée dans l’interface utilisateur de Discourse pour vous indiquer pourquoi les sujets « À propos » ne peuvent pas être déplacés.