"плюс" в электронной почте, чтобы иметь уникальные версии той же электронной почты, как это работает? Управление производственной и тестовой средой

У меня есть веб-приложение с производством с сотнями реальных пользователей..

Мне нужно было иметь одну тестовую среду с состоянием производства, так как приложение управляется данными, состояния приложений меняются от данных, вещи нельзя протестировать, если реальных данных пользователя не существует...

Но поскольку у него есть реальная электронная почта, он рискует в тестировании, так как тестирование электронной почты может пойти на реальных пользователей.

Поэтому мне нужен был механизм, чтобы изменить электронные письма на что-то нереальное, но так как поле электронной почты уникально, как мне изменить все письма одним запросом?

Мой коллега предположил, что письмо с +any_number ex. rajat@gmail.com а также rajat+27@gmail.com отправит письма на тот же адрес электронной почты..

Поэтому я написал запрос

update users set email = CONCAT(CONCAT('rajat+',id),'@gmail.com')

и это решило проблему.. Теперь я могу работать в тестовой среде с производственными данными..

Мои вопросы:

1) Как это работает??

2) это правильный подход?? Как люди управляют средами тестирования и производства??

1 ответ

Решение

Я предпочитаю менять код низкого уровня вместо смены базы данных. Например:

function sendEmail($to, ...) {
    if (APPLICATION_ENV != 'production') {
        $to = "dev@.....";
    }
    // continue ...
}

Таким образом, вы всегда гарантируете, что адрес получателя будет изменен на тестовый адрес, даже если адрес пришел из другого источника, такого как форма.

Другие вопросы по тегам