Vor ein paar Jahren habe ich eine Site mit Drupal 6.9 konfiguriert und dann vergessen. Ich habe 160 Seiten mit Benutzern, die alle Spammer sind, und ich muss alle bis auf 3 löschen. Das Ausführen dieser einen Seite zu einer Zeit ist aufgrund der MySQL-Aufrufe schmerzhaft langsam (denke ich). Ich habe auch ungefähr 2500 Forenbeiträge zu löschen.
Ich habe ein wenig Angst, Datensätze direkt aus der Datenbank zu löschen.
Ich habe ein Modul namens "Massenlöschung" gesehen, aber es ist für Drupal Version 5 und nicht für Version 6 verfügbar.
quelle
select all
Schaltfläche aktiviert werden kann, mit der alle Elemente auf allen Seiten ausgewählt werden können. Klicken Sie darauf und Kill-em-all!Diese Art, Knoten zu töten, ist sehr langsam, aber am sichersten
Können Sie für Benutzer programmgesteuert den Benutzer bestimmen, den Sie entfernen möchten? Wenn es möglich ist, können Sie die vorherige Funktion als Beispiel verwenden, um Benutzer ohne Ruder zu entfernen.
quelle
Anstatt ein benutzerdefiniertes Modul für diese Aufgabe zu erstellen, können Sie ein einfaches Skript verwenden und es mit Drush ausführen . Da Sie viele Benutzer und Knoten verarbeiten müssen, wird die Verwendung der Batch-API empfohlen (und sie kann mit Drush verwendet werden ).
quelle
Wenn Sie wie ich einen Python-Ansatz bevorzugen (hier wahrscheinlich selten, aber immer noch), ist dies ein transparenter und effektiver Weg, um dieses Problem zu beheben:
Die Schritte sind im Grunde:
drush sql-cli -r $your-path-to-drupal -l $your-site-url
python delete-users.py
Ich bin sicher, es gibt einen besseren Weg, dies zu tun, aber dies ist meine gehackte Lösung, die gut funktioniert.
quelle
for i in `drush sql-query 'SELECT list of usernames'`; do drush --yes user-cancel --delete-content $i; done
.Probieren Sie diese 2 Module für D6 aus:
User Prune https://drupal.org/project/user_prune und User Delete https://drupal.org/project/user_delete
Mit User Prune können Sie inaktive Benutzer anhand der von Ihnen angegebenen Kriterien massenweise löschen.
Mit Benutzer löschen können Sie einen Benutzer löschen und alle übermittelten Inhalte einschließlich Knoten und Kommentare löschen
quelle
Ich habe ein benutzerdefiniertes Modul zum Löschen aller Benutzer in Gruppe 7 implementiert. Im Bereich admin / people gibt es ein neues Formular, um diesen Vorgang abzuschließen.
Auch mit Drush.
Ist ein Sandbox-Projekt. Thk.
Link zum Projekt.
quelle
Verwenden Sie das erweiterte Benutzermodul . Dieses Modul fügt der Benutzerverwaltungsseite eine Registerkarte "Erweitert" hinzu. Auf dieser Registerkarte können Sie Benutzer nach beliebigen Attributen (Rolle, Status usw.) filtern und alle auswählen. Wenn Sie die Löschmethode der Benutzer als Benutzer löschen und alle Inhalte entfernen auswählen, können Sie auch alle von ihnen erstellten Inhalte löschen.
quelle
Das Modul Alle löschen könnte sich als nützlich erweisen.
Nach der Installation können Sie beispielsweise Folgendes tun:
oder
Drupal 6 Version in dev aber aus den Notizen:
quelle
Wenn Sie Zugriff auf Drush haben und eine schnelle Lösung suchen, mit der Sie Benutzer auf die Whitelist setzen können und keine zusätzlichen Module installieren müssen:
Stellen Sie sicher, dass Sie sowohl die
@example.org
Liste als auch die Liste der Benutzer so anpassen , dass sie('keepthisuser1', 'andthisuser2')
oben bleiben, bevor Sie sie einfügen :)quelle