В SaaS и личных кабинетах часто появляются дубли организаций: одну создал менеджер, другую владелец, третья пришла из CRM. Просто удалить дубль нельзя: там могут быть пользователи, заказы, документы и настройки.

Аккуратное объединение важно, чтобы не потерять историю, не сломать тариф, не выдать лишние права и не перемешать данные компаний.

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

Почему возникает проблема

Дубли появляются из-за регистрации по разным email, импорта из CRM, приглашений, оплаты от другого пользователя или отсутствия проверки уникальности компании.

Что проверяю в первую очередь

  • какая организация будет основной
  • какие таблицы связаны с organization_id
  • есть ли разные тарифы и платежи
  • какие пользователи и роли пересекаются
  • можно ли сделать резервную копию перед миграцией

Как исправляю

Я сначала строю карту зависимостей, затем делаю миграцию в транзакции или пошаговом скрипте с логом изменений.

  • выбираю основную организацию
  • переношу пользователей, заказы, файлы и настройки
  • объединяю роли без расширения прав
  • сохраняю историю и старые идентификаторы в лог
  • добавляю проверку от новых дублей

Что подготовить перед обращением

  • ссылка на сайт или кабинет
  • скриншот проблемы
  • пример пользователя, заказа или события
  • время, когда ошибка повторялась
  • доступы или выгрузка логов без лишних персональных данных

Какой результат нужен

После объединения пользователи видят одну правильную организацию, данные не потеряны, роли корректны, а старые ссылки не ломают работу.

Чего лучше не делать

Не обновляйте organization_id вручную в одной таблице. Обычно связанных таблиц больше, чем кажется на первый взгляд.

Вопросы и ответы

Можно ли сделать без простоя?

Часто да, если заранее подготовить скрипт и выполнить миграцию быстро.

Нужен ли бэкап?

Да, перед такими изменениями он обязателен.

Что делать с тарифом?

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

Нужна похожая задача?

Напишите в Telegram @rabotator_support или оставьте заявку на сайте. Коротко опишите проблему, приложите ссылку, скриншот, лог ошибки или пример заказа, и я подскажу, с чего безопасно начать исправление.

Итог

Объединение организаций требует не ручной правки базы, а контролируемой миграции с бэкапом, логом и проверкой прав.