Qualsiasi azione distruttiva eseguita dalla console è un po’ preoccupante. Assicurati di eseguire un backup prima di eseguirle.
Un record CategoryUser descrive il livello di notifica di un utente per una categoria. Un notification_level di 0 indica che la categoria è in muto per quell’utente. Puoi trovare ulteriori informazioni qui: (Obsolete) Set category tracking level defaults historically.
Eliminare tutti i record CategoryUser per un determinato category_id con un notification_level di 0 rimuoverà quella categoria dall’elenco delle categorie in muto per tutti gli utenti del tuo sito.
Quando eseguo un comando del genere, di solito aggiungo un passaggio extra che non ho pubblicato sopra. Invece di eseguire
CategoryUser.where(category_id: c.id, notification_level: 0).destroy_all
in un’unica operazione, assegno i record a una variabile in modo da poter verificare di nuovo di stare gestendo i dati corretti. Qualcosa del genere:
# Ottieni la categoria e assegnala a una variabile
c = Category.find_by(name: "<nome della tua categoria>")
# Assegna i category_users a una variabile ed esamina i dati. Assicurati che i record abbiano il
# corretto category_id, ecc.
muted_category_users = CategoryUser.where(category_id: c.id, notification_level: 0)
# Quando sei certo che i dati siano corretti, esegui
muted_category_users.destroy_all