Мой сценарий использования: я импортирую свой текущий форум поэтапно. На первом этапе потребуется много работы по перекатегоризации, выдаче бейджей пользователям, добавлению пользователей в группы, перемещению постов, созданию новых тем с инструкциями и т.д. В это время несколько избранных пользователей будут приглашены для помощи в тестировании и других задачах.
В процессе я хочу убедиться, что текущие пользователи не получат уведомительные письма от форума, о существовании которого они не знают. Настройка «Отключить все письма» не подойдёт, так как тестовым пользователям нужно будет иметь возможность запросить новый пароль для входа.
Я уже отключил дайджест писем и установил настройку, по которой все категории по умолчанию находятся в режиме «отключить уведомления».
Мне нужно убедиться, что никакие другие письма или уведомления не отправляются, за исключением случаев, когда пользователи сами запрашивают новый пароль.
Что я могу сделать, чтобы гарантировать отсутствие отправки писем? Достаточно ли этого?
Вы хотите деактивировать всех пользователей. Они могут реактивировать свои аккаунты, сбросив пароль. Вы должны найти пример команды Rails для этого, поискав здесь или посмотрев некоторые скрипты импорта.
Похоже, всё верно! Возможно, стоит отключить всех пользователей и позволить нескольким из них сбросить пароли, чтобы убедиться, что письма не отправляются не тем людям, и посмотреть, как работает этот процесс.
Сначала проверил в админ-панели, какие пользователи будут затронуты. Мне нужно было оставить активным только себя. Последний вход был примерно 50 дней назад (хотя я был активен в последние дни), так что 50 дней стали точкой отсечения.
Поскольку я ленивый и не хотел много считать, я установил дату 2020-01-01 и запустил скрипт.
И вуаля: 25 400 пользователей переведены из статуса «активные» в «неактивные».
Также: скрипт исключает discobot и системного пользователя — они остаются активными. (Это логично, и я рад, что так и запрограммировано :))