В статье описан способ подтверждения почтовых адресов пользователей непосредственно в базе данных cddisk.
Инструкция позволяет:
- посмотреть список почтовых адресов и их текущий статус подтверждения;
- подтвердить один конкретный почтовый адрес;
- подтвердить почтовые адреса всех пользователей одновременно.
Операции выполняются непосредственно в базе данных. Перед изменением данных убедитесь, что у вас есть необходимые права доступа и актуальная резервная копия базы данных.
1. Подключение к базе данных
Для начала подключитесь к базе данных cddisk от имени пользователя postgres.
Выполните команду:
sudo -i -u postgres psql cddisk
После успешного подключения вы сможете выполнять SQL-запросы к базе данных.
2. Проверка статуса почтовых адресов
Перед внесением изменений рекомендуется проверить, какие почтовые адреса пользователей уже подтверждены.
Выполните запрос:
SELECT "Email", "IsConfirmed" FROM public."Contacts";
В результате будет выведен список почтовых адресов и значение поля IsConfirmed.
Значение поля IsConfirmed
| Значение | Статус |
| true | Почтовый адрес подтверждён |
| false | Почтовый адрес не подтверждён |
Например:
| IsConfirmed | |
| user1@example.ru | true |
| user1@example.ru | false |
| user1@example.ru | false |
Такая проверка позволяет определить, какие адреса требуют подтверждения, прежде чем изменять данные.
3. Подтверждение одного почтового адреса
Если необходимо подтвердить только один почтовый адрес, выполните следующий запрос:
UPDATE public."Contacts" SET "IsConfirmed" = true WHERE "Email" = 'test@test.ru';
Вместо test@test.ru укажите почтовый адрес пользователя, который необходимо подтвердить.
Пример
Чтобы подтвердить адрес user@example.ru, выполните:
UPDATE public."Contacts" SET "IsConfirmed" = true WHERE "Email" = 'user@example.ru';
Запрос изменит статус подтверждения только для записи с указанным почтовым адресом.
После выполнения запроса рекомендуется проверить результат:
SELECT "Email", "IsConfirmed" FROM public."Contacts" WHERE "Email" = 'user@example.ru';
4. Массовое подтверждение всех почтовых адресов
Если необходимо подтвердить почтовые адреса всех пользователей, выполните:
UPDATE public."Contacts" SET "IsConfirmed" = true;
Этот запрос не содержит условия WHERE. Поэтому он изменит значение IsConfirmed для всех записей таблицы public.»Contacts».
Перед выполнением запроса убедитесь, что необходимо подтвердить именно все почтовые адреса.
Не выполняйте этот запрос, если требуется подтвердить только отдельных пользователей. В этом случае используйте запрос из раздела 3 «Подтверждение одного почтового адреса».
5. Проверка результата массового подтверждения
После выполнения массового обновления проверьте состояние почтовых адресов:
SELECT "Email", "IsConfirmed" FROM public."Contacts";
Если операция выполнена корректно, для записей таблицы значение IsConfirmed будет установлено значение true.













