Я думаю, ваш предложенный метод довольно прост и работает хорошо.Мы часто храним дополнительное поле рядом с учетной записью пользователя, которая является случайно сгенерированным псевдонимом электронной почты для этой цели.
Конечно, если вы хотите использовать другое поле каждый раз, вы можете просто использовать новую таблицу и генерировать каждоеодин.Очевидно, что вам просто нужно убедиться, что вы наложили ограничение уникальности на поле, чтобы ни один пользователь не имел такой же псевдоним.В качестве альтернативы вы можете использовать одноразовую часть адреса электронной почты, чтобы пользователь получил username+changeme@example.com, поэтому вам нужна только одна таблица, но у вас могут быть одноразовые адреса, хотя они немного предсказуемы.