Давайте рассмотрим такой случай:
- У пользователя может быть компания (или многие из них)
- Пользователь может быть частью компании (или во многих из них)
- Компания является единственным владельцем системы
- Компания имеет список задач
- Каждое задание назначено пользователю
Теперь с учетомИсходя из вышесказанного, я хочу реализовать систему, в которой каждая компания (арендатор) имеет отдельную схему для своих задач, но проблема в том, что для каждой задачи мне также нужны пользовательские данные из основной схемы.
вопрос в том, как подойти к этой проблеме
Возможные решения, о которых я подумал (но ни один из них не убедил меня):
- Копирование данных всех пользователей, соответствующих компании, в схему компании (это потребовало бы достаточного количества синхронизации, поэтому я не нахожу это очень эффективным)
- Переключение между схемами и «объединение» их программно - это требует много дополнительного кода для реализации, и это нарушаетЭто хорошая практика - поскольку user_id в задании выходит за пределы схемы tanant)
Я надеюсь, что есть лучшее решение, о котором я даже не думал.Обратите внимание, что это упрощенный случай, просто для описания проблемы.