Wie kann ich ALLES aus meinem Forum löschen und nur die Benutzer übrig lassen?

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.

1 „Gefällt mir“

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.

1 „Gefällt mir“

In der Tat! Dafür gibt es die Klasse PostDestroyer, die eine Menge notwendiger zusätzlicher Bereinigungen vornimmt.

@xebiyen Sie können diese Rake-Aufgabe verwenden, um alle Themen in allen Kategorien zu zerstören, aber Kategorien und Benutzer intakt zu lassen:

$ ./bin/rake destroy:topics_all_categories
4 „Gefällt mir“

Großartig, ich kannte diese Rake-Aufgabe nicht. Wird sie die „Über uns“-Themen entfernen, was ein unerwünschter Nebeneffekt wäre?

Nein, die verwendete Methode lässt diese standardmäßig unberührt, und die Rake-Aufgabe ändert diesen Standard nicht:

:rainbow:

1 „Gefällt mir“

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. :thinking:

Ich habe auch die Rake-Methode „Alle Themen mit einem bestimmten Tag in eine einzelne Kategorie verschieben“ verwendet, die einige Tag-bezogene Tabellen in der Datenbank nicht richtig befüllt hat.


Bearbeitung: Oh, es ist mein Cake Day! Wenn nur der Kuchen echt wäre… Aber vielleicht ist er das ja doch?

2 „Gefällt mir“

[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!)

2 „Gefällt mir“

Welchen Befehl muss ich vor diesem Befehl verwenden?

@pfaffman @Canapin ist sein Befehl @leonardo die beste Lösung dann?

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):

4 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.