В SaaS и личных кабинетах часто появляются дубли организаций: одну создал менеджер, другую владелец, третья пришла из CRM. Просто удалить дубль нельзя: там могут быть пользователи, заказы, документы и настройки.
Аккуратное объединение важно, чтобы не потерять историю, не сломать тариф, не выдать лишние права и не перемешать данные компаний.
Коротко: нужен план миграции: выбрать главную организацию, перенести связи, проверить роли, сохранить историю и сделать откат.Почему возникает проблема
Дубли появляются из-за регистрации по разным email, импорта из CRM, приглашений, оплаты от другого пользователя или отсутствия проверки уникальности компании.
Что проверяю в первую очередь
- какая организация будет основной
- какие таблицы связаны с organization_id
- есть ли разные тарифы и платежи
- какие пользователи и роли пересекаются
- можно ли сделать резервную копию перед миграцией
Как исправляю
Я сначала строю карту зависимостей, затем делаю миграцию в транзакции или пошаговом скрипте с логом изменений.
- выбираю основную организацию
- переношу пользователей, заказы, файлы и настройки
- объединяю роли без расширения прав
- сохраняю историю и старые идентификаторы в лог
- добавляю проверку от новых дублей
Что подготовить перед обращением
- ссылка на сайт или кабинет
- скриншот проблемы
- пример пользователя, заказа или события
- время, когда ошибка повторялась
- доступы или выгрузка логов без лишних персональных данных
Какой результат нужен
После объединения пользователи видят одну правильную организацию, данные не потеряны, роли корректны, а старые ссылки не ломают работу.
Чего лучше не делать
Не обновляйте organization_id вручную в одной таблице. Обычно связанных таблиц больше, чем кажется на первый взгляд.
Вопросы и ответы
Можно ли сделать без простоя?
Часто да, если заранее подготовить скрипт и выполнить миграцию быстро.
Нужен ли бэкап?
Да, перед такими изменениями он обязателен.
Что делать с тарифом?
Нужно заранее выбрать, какой тариф и лимиты сохраняются.
Нужна похожая задача?
Напишите в Telegram @rabotator_support или оставьте заявку на сайте. Коротко опишите проблему, приложите ссылку, скриншот, лог ошибки или пример заказа, и я подскажу, с чего безопасно начать исправление.
Итог
Объединение организаций требует не ручной правки базы, а контролируемой миграции с бэкапом, логом и проверкой прав.