Операция выполнена!
Закрыть
Хабы: PostgreSQL, SQL, Алгоритмы, Базы данных, Программирование

Знакомая боль: пользователи опечатываются при регистрации, а база данных медленно, но верно превращается в хаос. На одном из проектов в поддержку артистов мы столкнулись с этим лицом к лицу.

Раньше карточки артистов создавались автоматически прямо из заявок на выступления. В итоге мы получали гору дубликатов с одинаковыми почтами и телефонами. Администрировать такую базу и координировать выступления стало безумно сложно.

Конечно, правильнее всего - пресекать появление дублей еще на входе, но нам нужно было оперативно перебирать систему на ходу и работать с тем, что уже накопилось в проде.

Что мы придумали:

Решили провести «склейку» профилей. Но просто удалить лишнее было нельзя - за каждым дублем тянулся шлейф из бронирований площадок и блокировок. Наша задача была перенести всю эту историю на одного, «главного» артиста в группе.


Правило склейки сделали простым, но учли важную деталь - связи могут тянуться цепочкой. Например, если у первого и второго артиста совпал телефон, а у второго и третьего - почта, то вся троица объединяется в одну группу. Дальше мы определяем одного "главного" и аккуратно переносим все бронирования на него

Читать далее
Читайте также
НОВОСТИ

ПИШИТЕ

Техническая поддержка проекта ВсеТут

info@vsetut.pro