Impossible de supprimer une balise avec 2k sujets

Je nettoie des balises et je n’ai eu aucun problème jusqu’à cette balise qui a 2400 sujets associés. J’obtiens le message générique « Désolé, une erreur est survenue. » et rien dans les journaux. Puis-je supprimer cela en backend ou y a-t-il autre chose que je puisse essayer ? Elle ne contient pas de caractères spéciaux, c’est simplement ig

Merci à tous !

Il devrait être possible de le supprimer via la console Rails, mais vous pourriez essayer de le supprimer en masse par lots de sujets d’abord pour essayer de le faire plus proprement via l’interface utilisateur ?

Merci, mais je ne vois aucun moyen de le faire en masse. Je peux supprimer tous les tags, mais il n’y a pas d’option pour supprimer un seul tag lorsque les sujets ont plusieurs tags.

Je cherche un moyen de supprimer 2 tags, l’un contient 5818 entrées et l’autre 1604.
Ce sont ceux qui proviennent d’une importation xenForo et qui ne sont pas nécessaires.

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 »

Merci beaucoup, cela a fonctionné dès la première tentative. J’ai choisi la première méthode, puis j’ai supprimé les balises via l’interface utilisateur lorsqu’elles n’étaient plus attribuées nulle part.

2 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.