Есть ли быстрый скрипт, который позволит мне массово удалить всех пользователей, кроме администраторов или нескольких выбранных, идентифицируемых по их ID или электронным адресам? Подойдёт любой из этих вариантов, если он проще.
Спасибо. destroy_all — это то же самое, что и UserDestroyer, или один из них рекомендуется использовать? UserDestroyer упоминался несколько раз в других сообщениях. Спасибо.
Теперь после удаления примерно 200 записей возникает ошибка, и процесс завис:
ActiveRecord::RecordInvalid: Validation failed: Primary email can't be blank
from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.3/lib/active_record/validations.rb:80:in `raise_validation_error'
Я поискал и нашел один пост о проверке заблокированных адресов электронной почты в разделе Администрирование > Журналы > Отфильтрованные письма, но там ничего не отображается. Не знаю, что делать дальше. Спасибо.
Вы можете использовать rails-скрипт или Data Explorer, чтобы проверить адреса электронной почты и убедиться, что ни один из них не пуст… Хотя это было бы странно. По умолчанию поле электронной почты не бывает пустым, даже для автоматически созданных учётных записей, таких как discobot или system (которые по умолчанию являются администраторами).
Ваши пользователи были импортированы? Но даже в этом случае я почти уверен, что методы создания учётных записей не позволяют оставлять поле электронной почты пустым.
Да, это сработало, показало, на чём именно возникли трудности, и оказалось, что в адресе электронной почты каким-то образом был недопустимый символ. Я исправил это, и всё заработало. Спасибо.