Convertir en masse des sujets en MP

Je prévois de convertir un tas de sujets en MP de groupe afin de déprécier certaines catégories peu utilisées. Nous ne pouvons pas le faire via l’interface utilisateur (un par un seulement), ni trouver un moyen groupé de le faire.

D’après ce que je peux dire, cela devrait fonctionner via la console :

  1. Identifier les sujets par leur catégorie
  2. Changer topic.archetype en private_message
  3. Changer topic.subtype en ‘user_to_user’
  4. Mettre topic.category à Null
  5. Dans topic_groups (ou peut-être topic_allowed_groups), ajouter une ligne avec le group_id et le topic_id pertinents

Cette approche a-t-elle du sens ? Je dois d’abord déterminer la différence entre ces tables topic/groups. Et le faire dans un bac à sable pour commencer !!

1 « J'aime »

Cela pourrait fonctionner. De plus, si vous ne saviez pas, vous pouvez faire quelque chose comme

 topics = Topic.where(category: 10)

  topics.update_all(archetype: xxx, topic_category: nil)

Ou quelque chose comme ça. Si vous connaissiez update_all, ce n’est pas une nouveauté.

2 « J'aime »

Merci Jay ! Ce serait bien et rapide pour la première moitié. Cependant, je dois aussi m’assurer qu’ils finissent par devenir des chefs de groupe.

Avez-vous une idée de ce que je dois faire avec les tables topic_groups / topic_allowed_groups ? Je ne pense pas pouvoir m’en sortir avec un update_all pour celles-ci.

1 « J'aime »