Jika, seperti saya, Anda lebih suka pendekatan Python (jarang di sini, tapi tetap saja), ini adalah cara yang transparan dan efektif untuk memperbaiki masalah ini:
import os
# Build up a variable containing the usernames
# This list was built using drush sql-cli, then
# SELECT name FROM users
# where $your-where-condition
# order by uid asc
# INTO
# OUTFILE '/tmp/users.csv'
# FIELDS TERMINATED BY ','
# ENCLOSED BY '"'
# lines terminated by ', ' ;
users = [result from SQL goes here]
for user in users:
print("Deleting spam user: %s..." % user),
os.system('drush --yes -r $your-path-to-drupal -l $your-site-url user-cancel --delete-content %s > /dev/null' % user)
print 'Done'
Langkah-langkahnya pada dasarnya:
- Masuk ke DB Anda dengan
drush sql-cli -r $your-path-to-drupal -l $your-site-url
- Jalankan SQL di atas dengan kondisi Anda sendiri dan tempelkan hasilnya ke dalam variabel pengguna.
- Perbarui jalur drupal dan nama situs Anda menjadi perintah drushal
- Jalankan skrip dengan
python delete-users.py
Saya yakin ada cara yang lebih baik untuk melakukan ini, tetapi ini adalah solusi yang diretas yang berfungsi dengan baik.
select all
tombol yang memilih semua item di semua halaman - klik dan Kill-em-all!