Impossibile eliminare tag con 2k topic

Penso che ci siano due modi per rimuovere quei tag dai loro argomenti associati nella console di Rails, uno dei quali è “più morbido” dell’altro. È una buona idea fare prima un backup - vedi qui per i comandi di Rails: Administrative Bulk Operations.


  1. per ogni tag, inserisci la console di Rails:
cd /var/discourse
./launcher enter app
rails c
  1. trova e rimuovi il tag dai suoi argomenti
TAG_NAME = "il_tuo_nome_tag"   # Sostituisci con il nome del tuo tag
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. ripeti per il secondo tag
  2. quindi dovresti essere in grado di rimuovere quei tag tramite l’interfaccia utente

Metodo alternativo più veloce e rischioso (io stesso farei nel modo sopra descritto)

Ma invece dei passaggi 2 e 4, penso che tu possa anche fare questo per ogni tag dopo essere entrato nella console di Rails.

t = Tag.find_by_name('il_tuo_nome_tag')
t.destroy!
3 Mi Piace