Два основні підходи:
Single Database (shared schema) - усі орендарі в одній БД, розділення за tenant_id у кожній таблиці. Ізоляція забезпечується global scope, що автоматично додає where tenant_id = ?.
- Плюси: просто й дешево. Мінуси: ризик витоку даних при помилці у scope.
Multi Database - окрема БД (або схема) на орендаря, динамічне перемикання з'єднання за поточним tenant.
- Плюси: сильна ізоляція, легше бекапити/масштабувати окремого клієнта. Мінуси: складніші міграції (на кожну БД).
Tenancy::initialize($tenant); // перемкнути конфіг з'єднання/кеш/файли
Популярний пакет - stancl/tenancy. Вибір залежить від вимог до ізоляції та масштабу.