"плюс" в электронной почте, чтобы иметь уникальные версии той же электронной почты, как это работает? Управление производственной и тестовой средой
У меня есть веб-приложение с производством с сотнями реальных пользователей..
Мне нужно было иметь одну тестовую среду с состоянием производства, так как приложение управляется данными, состояния приложений меняются от данных, вещи нельзя протестировать, если реальных данных пользователя не существует...
Но поскольку у него есть реальная электронная почта, он рискует в тестировании, так как тестирование электронной почты может пойти на реальных пользователей.
Поэтому мне нужен был механизм, чтобы изменить электронные письма на что-то нереальное, но так как поле электронной почты уникально, как мне изменить все письма одним запросом?
Мой коллега предположил, что письмо с +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 ...
}
Таким образом, вы всегда гарантируете, что адрес получателя будет изменен на тестовый адрес, даже если адрес пришел из другого источника, такого как форма.