Пару лет назад я настроил сайт с Drupal 6.9, а потом забыл об этом. У меня 160 страниц пользователей, которые являются спамерами, и мне нужно удалить все, кроме 3. Делать эту одну страницу за раз мучительно медленно из-за вызовов MySQL (я полагаю). У меня также есть около 2500 сообщений на форуме для удаления.
Я немного боюсь удалять записи из базы данных напрямую.
Я видел модуль под названием «массовое удаление», но он для Drupal версии 5 и недоступен для версии 6.
источник
select all
кнопку, которая выбирает все элементы на всех страницах - нажмите ее и убейте их!Этот способ убить узлы очень медленный, но самый безопасный
Для пользователей, вы можете программно определить пользователя, которого вы хотите удалить? Если это возможно, вы можете использовать предыдущую функцию в качестве примера для удаления нежелательных пользователей.
источник
Вместо того, чтобы создавать собственный модуль для этой задачи, вы можете использовать простой скрипт и выполнить его с помощью Drush . Поскольку вам нужно обрабатывать большое количество пользователей и узлов, рекомендуется использовать пакетный API (и его можно использовать с Drush ).
источник
Если, как и я, вы предпочитаете подход Python (возможно, редко здесь, но все же), это прозрачный и эффективный способ решения этой проблемы:
Шаги в основном:
drush sql-cli -r $your-path-to-drupal -l $your-site-url
python delete-users.py
Я уверен, что есть лучший способ сделать это, но это мое взломанное решение, которое работает хорошо.
источник
for i in `drush sql-query 'SELECT list of usernames'`; do drush --yes user-cancel --delete-content $i; done
,Попробуйте эти 2 модуля для D6:
Пользователь Чернослив https://drupal.org/project/user_prune и Пользователь Удалить https://drupal.org/project/user_delete
User Prune позволяет массово удалять неактивных пользователей на основе указанных вами критериев.
Удаление пользователя позволяет удалить пользователя и удалить весь отправленный контент, включая узлы и комментарии.
источник
Я реализовал пользовательский модуль для удаления всех пользователей indrupal 7. В области admin / people есть новая форма для завершения этой операции.
Тоже с толчком.
Это песочница проекта. Thk.
Ссылка на проект.
источник
Используйте продвинутый пользовательский модуль. Этот модуль добавляет вкладку «Дополнительно» на страницу управления пользователями. На этой вкладке вы можете фильтровать пользователей по любому атрибуту (роли, статусу и т. Д.) И выбирать все. Если вы выберете метод удаления пользователей как удалить пользователя и удалить весь контент, вы также можете удалить весь контент, созданный ими.
источник
Если у вас есть доступ к Drush и вы хотите быстрое решение, которое позволит вам сохранить список пользователей и не требует установки дополнительных модулей:
Обязательно настройте
@example.org
список пользователей и список пользователей, чтобы сохранить('keepthisuser1', 'andthisuser2')
их выше, прежде чем вставлять копию :)источник
Модуль Delete All может пригодиться.
После установки вы можете сделать, например:
или
Версия Drupal 6 в dev, но из заметок:
источник
Оригинальный вопрос для 6, но ответ Криса Берджесса может быть применен к Drupal 8 следующим образом;
источник