Impossible de supprimer une balise avec 2k sujets

Je pense qu’il existe deux façons de supprimer ces balises de leurs sujets associés dans la console Rails, l’une étant plus « douce » que l’autre. C’est une bonne idée de faire une sauvegarde d’abord - voir ici pour les commandes Rails : Administrative Bulk Operations.


  1. pour chaque balise, entrez dans la console Rails :
cd /var/discourse
./launcher enter app
rails c
  1. trouvez et supprimez la balise de ses sujets
TAG_NAME = "votre_nom_de_balise"   # Remplacez par votre nom de balise
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. répétez pour la deuxième balise
  2. ensuite, vous devriez pouvoir supprimer ces balises via l’interface utilisateur

Méthode alternative plus rapide et plus risquée (je ferais la méthode ci-dessus moi-même)

Mais au lieu des étapes 2 et 4, je pense que vous pouvez également faire ceci pour chaque balise après être entré dans la console Rails.

t = Tag.find_by_name('votre_nom_de_balise')
t.destroy!
3 « J'aime »