Добрый день.
Есть уже рабочий сайт, который продает товары как физическим, так и юридическим лицам.
Регистрация производится от физического лица – пользователь.
Сейчас на сайте любой пользователь может добавить абсолютно любого контрагента (юридическое лицо), для дальнейших покупок от его лица.
Неограниченное количество пользователей может осуществлять покупки для одного и того же контрагента.
Есть потребность ограничить добавление контрагентов для пользователей и сделать уникальность по признаку ИНН/КПП, т.е. только один пользователь сможет добавить контрагента с уникальными ИНН/КПП.
Если пользователь захочет добавить контрагента, который уже привязан к другому пользователю, то ему будет запрещено это сделать.
Вопрос в том, как поступить с пользователями, у которых уже добавлены одинаковые контрагенты?
Если у Вас хранится для каждого пользователя время регистрации контрагента - оставить того, кто был первым, остальным написать вежливое письмо с просьбой о перерегистрации.
Если не хранится - то всем полтзователям аннулировать контрагента и написать, что нужно регистрироваться заново
У меня был проект по слиянию нескольких баз, там была задача объединить справочник клиентов и в обоих справочниках были дубликаты.
В итоге решали так:
Выбирали клиента заведенного раньше по времени, и все ссылки на клиента в связанных таблицах заменили на выбранного клиента, а дубликаты клиентов оставили в базе (в таблице клиентов) но пометили как архивные, чтобы их нельзя было выбрать и использовать.
Но тут нужно знать все таблицы в которые есть ссылки на клиента и если эти таблицы огромные, то такая конвертация может длиться несколько дней.