Das ist bei weitem der schnellste und einfachste Weg.
Laden Sie Ihre Benutzerliste herunter, wie von @JammyDodger vorgeschlagen, von /admin/users/list/active, laden Sie die CSV-Datei herunter, bereinigen Sie sie, um nur die E-Mail-Adressen zu behalten, und führen Sie eine Masseneinladung von Ihrer Admin-Oberfläche aus einer neuen Discourse-Installation durch. Ihre Benutzer müssen erneut ein Konto erstellen.
Wenn Sie alle Daten außer einigen Benutzern löschen möchten, gibt es keinen einfachen Weg, dies zu tun, und ich kann nur vermuten, dass der Versuch leicht zu einem kaputten Forum führen könnte.
Wenn Sie die meisten Daten Ihrer Benutzer exportieren möchten (ihre eigenen Einstellungen und so weiter), wird dies ebenfalls schwierig sein und erfordert die Erstellung eines Ruby on Rails-Skripts. Außerdem könnten Sie auf Probleme stoßen, an die ich nicht gedacht habe. Wenn Sie nicht sicher sind, wie Sie das machen sollen, schlage ich vor, dass Sie sich an die erste Lösung halten oder in Marketplace posten, wenn Sie ein Budget haben.
Das stimmt. Aber wenn Sie gefährlich leben wollen, können Sie Folgendes versuchen:
./launcher enter app
discourse backup
rails c
Topic.where("user_id > 1").destroy_all
Upload.where("user_id > 1").destroy_all
exit
exit
Ich denke, das Löschen von Themen sollte Beiträge löschen, aber Sie könnten auch Folgendes hinzufügen:
Post.where("user_id > 0").destroy_all
Das > 1 lässt Themen, die vom ersten Benutzer erstellt wurden. Wenn Sie diese ebenfalls löschen möchten, ändern Sie sie in > 0, was Themen belässt, die von @system erstellt wurden. Ich glaube, Sie werden es sehr bereuen, wenn Sie diese löschen.
Dies erstellt ein Backup für den Fall, dass alles zerstört wird.
Das ist mit ziemlicher Sicherheit eine schlechte Idee, aber es ist das, wonach Sie gefragt haben.
Vielen Dank für die Bestätigung. Ich wollte sichergehen, denn ein oder zwei der empfohlenen Methoden für andere Dinge, die auf Administrative Bulk Operations aufgeführt sind, hatten bei der letzten Anwendung unerwünschte Nebenwirkungen.
Ich habe eine Methode verwendet, um Themen von einer Kategorie in eine andere zu verschieben, aber sie hat das „About“-Thema zusammen mit den regulären Themen verschoben. Ich habe vielleicht ein Rails-Skript anstelle der Rake-Aufgabe verwendet. Ich bin mir nicht sicher.
[quote=„Leonardo Mosquera, Beitrag:23, Thema:248083, Benutzername:leonardo”]
Dafür gibt es die Klasse PostDestroyer, die eine Menge notwendiger zusätzlicher Bereinigungen vornimmt.
[/quote]
Danke! Ich hatte diese Klasse vergessen und kannte die Rake-Aufgabe nicht (oder erinnere mich nicht daran, sie vergessen zu haben!)
Sie können es selbst versuchen, aber machen Sie vorher ein Backup.
Gehen Sie in Ihrer Kommandozeile zu Ihrem Discourse-Ordner.
Rufen Sie den Container mit ./launcher enter app auf.
Schreiben Sie dann rake destroy:topics_all_categories.
Sehen Sie es in Aktion (meine Testinstanz ist sehr langsam):