Я пытаюсь создать мультитенантное SaaS-приложение, и я знаю, что есть несколько подходов к этому, но я выбрал мульти-базу данных, которая, я думаю, подойдет больше всего.
поэтому я создаю базу данных для каждого арендатора и храню таблицу арендаторов в основной базе данных
и подключить пользователей к их соответствующим БД на основе поддоменов.
Теперь моя проблема здесь, где хранить пользователей, в основной БД? или база данных арендатора, хранение пользователей в основной базе данных, затруднит получение моделей, связанных с пользователями, в другие базы данных, но хранение ее внутри базы данных арендаторов затруднит проверку подлинности для всех пользователей …
и каков лучший сценарий?
это хороший подход? Что мне делать с проблемой таблицы пользователей?
ThnQ
Я могу предложить третий вариант. Иметь пользователя как в арендаторе, так и в основной базе данных. Затем вы можете создать процедуру для обновления основной базы данных при изменении пользователем базы данных арендатора (или наоборот).
Кроме того, я не знаю моделей в Laravel, но у MySQL нет проблем с межсоединениями между базами данных.
Хорошим вариантом будет сохранение пользователей в базе данных арендаторов. Поскольку вы отличаете своего арендатора от субдомена, вы можете указать системе аутентификации запрашивать базу данных, специфичную для субдомена.
Обмен потоком аутентификации