È di gran lunga il modo più veloce e semplice.
Scarica il tuo elenco di utenti come suggerito da @JammyDodger, da /admin/users/list/active, scarica il file CSV, puliscilo per conservare solo gli indirizzi email ed effettua un invito di massa dalla tua interfaccia di amministrazione da una nuova installazione di Discourse. I tuoi utenti dovranno creare nuovamente un account.
Se vuoi eliminare tutti i dati tranne alcuni utenti, non c’è un modo semplice per farlo e posso solo pensare che provare potrebbe facilmente portare a un forum danneggiato.
Se vuoi esportare la maggior parte dei dati dei tuoi utenti (le loro impostazioni e altro), sarà anche difficile e richiederà la creazione di uno script ruby on rails. Inoltre, potresti riscontrare problemi a cui non ho pensato. Se non sei sicuro su come farlo, ti suggerisco di attenerti alla prima soluzione o di pubblicare in Marketplace se hai un budget.
È vero. Ma se vuoi vivere pericolosamente, puoi provare questo:
./launcher enter app
discourse backup
rails c
Topic.where("user_id > 1").destroy_all
Upload.where("user_id > 1").destroy_all
exit
exit
Penso che l’eliminazione degli argomenti dovrebbe eliminare i post, ma potresti anche aggiungere
Post.where("user_id > 0").destroy_all
Il > 1 lascerà gli argomenti creati dal primo utente. Se vuoi eliminarli anche quelli, cambialo in > 0, che lascerà gli argomenti creati da @system. Penso che ti pentirai molto se li elimini.
Questo crea un backup nel caso in cui distrugga tutto.
Questa è quasi certamente una cattiva idea, ma è quello che hai chiesto.
Grazie per averlo confermato. Volevo essere sicuro, perché uno o due dei metodi consigliati per altre cose elencati su Administrative Bulk Operations hanno avuto effetti collaterali indesiderati l’ultima volta che li ho usati.
Ne ho usato uno per spostare argomenti da una categoria all’altra, ma ha spostato l’argomento “about” insieme agli argomenti regolari. Potrei aver usato uno script rails invece del task rake, però. Non sono sicuro.
Puoi provare da solo, ma fai prima un backup.
Vai nella tua cartella discourse dalla riga di comando.
Entra nel container con ./launcher enter app.
Poi scrivi rake destroy:topics_all_categories.
Guardalo in azione (la mia istanza di test è molto lenta):