Impossibile eliminare l'argomento creato dal sistema

Sto cercando di rimuovere alcune categorie a favore dell’uso dei tag, ma mi ritrovo con un argomento creato dal sistema che non riesco a eliminare (è “Technical” nello screenshot, nota i -1 risposte). Se provo a visitare questo argomento, la pagina si blocca e devo chiudere la scheda e ricominciare. Hai idea di come eliminarlo, magari tramite Rails?

Prova con

cd /var/discourse
./launcher enter app
rails c
Topic.find(id).destroy

Troverai l’id passando il mouse sopra il titolo dell’argomento

Grazie, Daniela. Funziona per eliminare l’argomento, ma ora quando provo a eliminare la categoria, il sistema pensa che ci sia ancora un argomento e non mi permette di cancellare la categoria. C’è una funzione simile per eliminare la categoria?

Esegui un backup completo del tuo sito, quindi prova con

cd /var/discourse
./launcher enter app
rails c
rake destroy:topics["Gear","Discussions"]

dove Gear è la tua sottocategoria e Discussions è la categoria genitore.

Questo dovrebbe essere sufficiente per eliminare tutti i topic in quella sottocategoria. Dopodiché dovresti essere in grado di eliminare la sottocategoria.

Purtroppo questo è il risultato…

NameError: variabile o metodo locale `topics' non definito per main:Object
from (pry):1:in `__pry__'
[2] pry(main)>

Il mio errore, prova solo

cd /var/discourse
./launcher enter app
rake destroy:topics["Gear","Discussions"]

Non ci sono argomenti da eliminare nella categoria discussions/gear, ma non riesco comunque a eliminare la categoria: ‘Impossibile eliminare questa categoria perché il numero di argomenti è 1.’

Puoi visualizzare i tuoi log per verificare se ci sono errori specifici?

No, non vedo nulla nei log relativo a questo…

Puoi provare ad aggiornare i contatori delle categorie e vedere se questo aiuta.

cd /var/discourse
./launcher enter app
rails c
Category.ensure_consistency!

Poi prova a eliminare di nuovo la categoria.

Purtroppo ha restituito nil

Sono riuscito a resettare il conteggio dei topic usando

Category.find_by(name: 'Gear').update(topic_count: 0)

E poi sono riuscito a eliminare la categoria, grazie David!

Anche per me ha restituito nil.

Questo ha restituito ‘true’, ma non ha modificato i valori -1 nella colonna reply dei miei argomenti. Non sono ancora riuscito a eliminare la categoria.

Dopo averci dedicato più tempo, sono finalmente riuscito a farlo funzionare! Grazie!