C’est de loin la méthode la plus rapide et la plus simple.
Téléchargez votre liste d’utilisateurs comme suggéré par @JammyDodger, depuis /admin/users/list/active, téléchargez le fichier CSV, nettoyez-le pour ne conserver que les adresses e-mail, et effectuez une invitation en masse depuis votre interface d’administration d’une nouvelle installation Discourse. Vos utilisateurs devront recréer un compte.
Si vous voulez supprimer toutes les données sauf certains utilisateurs, il n’y a pas de moyen simple de le faire et je ne peux que penser qu’essayer pourrait facilement conduire à un forum cassé.
Si vous voulez exporter la plupart des données de vos utilisateurs (leurs propres paramètres et autres), ce sera également difficile et nécessitera la création d’un script ruby on rails. De plus, vous pourriez rencontrer des problèmes auxquels je n’ai pas pensé. Si vous n’êtes pas sûr de la manière de procéder, je vous suggère de vous en tenir à la première solution ou de poster dans Marketplace si vous avez un budget.
C’est vrai. Mais si vous voulez vivre dangereusement, vous pouvez essayer ceci :
./launcher enter app
discourse backup
rails c
Topic.where("user_id > 1").destroy_all
Upload.where("user_id > 1").destroy_all
exit
exit
Je pense que la suppression des sujets devrait supprimer les messages, mais vous pourriez aussi ajouter un
Post.where("user_id > 0").destroy_all
Le > 1 laissera les sujets créés par le premier utilisateur. Si vous voulez aussi les supprimer, changez-le en > 0, ce qui laissera les sujets créés par @system. Je pense que vous le regretterez amèrement si vous les supprimez.
Cela fait une sauvegarde au cas où cela détruirait tout.
C’est presque certainement une mauvaise idée, mais c’est ce que vous avez demandé.
En effet ! Il existe la classe PostDestroyer pour cela, qui effectue de nombreux nettoyages supplémentaires nécessaires.
@xebiyen vous pouvez utiliser cette tâche rake pour détruire tous les sujets dans toutes les catégories, mais laisser les catégories et les utilisateurs intacts :
Merci de me confirmer cela. Je voulais en être sûr, car une ou deux des méthodes recommandées pour d’autres choses listées sur Administrative Bulk Operations ont eu des effets secondaires indésirables la dernière fois que je les ai utilisées.
J’en ai utilisé une pour déplacer des sujets d’une catégorie à une autre, mais elle a déplacé le sujet “À propos” avec les sujets réguliers. J’ai peut-être utilisé un script Rails au lieu de la tâche Rake, cependant. Je ne suis pas sûr.
Vous pouvez essayer par vous-même, mais faites d’abord une sauvegarde.
Allez dans votre dossier discourse en ligne de commande.
Entrez dans le conteneur avec ./launcher enter app.
Ensuite, tapez rake destroy:topics_all_categories.
Voyez-le en action (mon instance de test est très lente) :