hakam / multi-tenancy-bundle
Flexible and production-ready multi-tenancy bundle for Symfony.
Installs: 28 757
Dependents: 0
Suggesters: 0
Security: 0
Stars: 108
Watchers: 7
Forks: 33
Open Issues: 3
Type:symfony-bundle
pkg:composer/hakam/multi-tenancy-bundle
Requires
- php: ^8.1|^8.2|^8.3|^8.4
 - doctrine/annotations: ^2.0
 - doctrine/doctrine-bundle: ^2.7
 - doctrine/doctrine-migrations-bundle: ^3.0
 - symfony/config: ^v6.4.0|^7.0
 - symfony/dependency-injection: ^v6.4.0|^7.0
 - symfony/filesystem: ^6.4|^7.0
 - symfony/http-kernel: ^v6.4.0|^7.0
 - symfony/orm-pack: ^2.0
 
Requires (Dev)
- dg/bypass-finals: ^1.9
 - doctrine/doctrine-fixtures-bundle: ^3.6
 - phpunit/phpunit: ^9.5
 - symfony/phpunit-bridge: ^v6.4.0|^7.0
 
- dev-master
 - v3.0.0-beta2
 - 3.0.0-beta-1
 - v2.9.2
 - v2.9.1
 - v2.9.0
 - v2.8.3
 - v2.8.2
 - v2.8.1
 - v2.8.0
 - 2.7.1
 - 2.7.0
 - v2.6.0
 - v2.5.4
 - v2.5.3
 - v2.5.2.x-dev
 - v2.5.2
 - v2.5.1.x-dev
 - v2.5.1
 - v2.5.0
 - v2.0.1
 - v2.0.0
 - v1.0.3
 - v1.0.2
 - v1.0.1
 - v1.0.0
 - v0.2
 - dev-46-get-the-data-from-the-main-database-instead-of-tenant-database
 - dev-66-help-with-the-error
 - dev-Bugfix/Migration-command-forces-dbId-with-getId-instead-of-using-the-configured-identifier-
 - dev-Add-UUID-as-tenant-db-id
 - dev-Supprot-Pluggable-TenantDbConfigurationInterface
 - dev-Install-only-dist
 - dev-create-db-async
 - dev-dev
 - dev-add-symfony-flex-contrib-recipes
 - dev-Add-Tenant-Fixture-commands
 - dev-Implement-Bulk-create-and-migrate-commands
 - dev-fix-wrong-dir-check
 - dev-40-question-multi-tenancy-with-multi-database
 - dev-35-doctrine-dbal-4-multiple-changes-and-deprecations
 - dev-25-deprecated-the-url-connection-parameter-dbal-36
 - dev-Remove-php-deprecated-versions-
 - dev-28-unable-to-use-dql-string_functions
 - dev-Create-database-from-command
 - dev-create-db-command
 - dev-Add-github-actions
 - dev-issues/13-Diff-command-Check-the-Main-db-if-the-Tenant-DbId-is-NULL
 - dev-Non-existent-service
 
This package is auto-updated.
Last update: 2025-11-03 08:26:10 UTC
README
๐ Full Documentation: Documentation
๐งฉ Overview
The Symfony Multi-Tenancy Bundle enables scalable, production-ready multi-tenancy for Symfony applications.
Ideal for SaaS platforms, region-based services, and multi-vendor e-commerce systems, this bundle is built around a database-per-tenant architecture, giving each tenant:
- A fully isolated database
 - Independent schema and migrations
 - Configurable connection parameters (host, driver, credentials)
 
It integrates seamlessly with Doctrine and Symfonyโs service container, offering:
- Automatic tenant database switching at runtime via 
SwitchDbEvent - Separate migration and fixture paths for main vs. tenant databases
 - Dedicated 
TenantEntityManagerservice for runtime isolation 
For full usage examples and advanced configuration, see the documentation.
๐ Quick Installation
1. Via Symfony Flex (Recommended)
composer require hakam/multi-tenancy-bundle
Symfony Flex will automatically scaffold config, register the bundle, and create:
src/Entity/Main/
src/Entity/Tenant/
migrations/Main/
migrations/Tenant/
2. Manual Installation
composer require hakam/multi-tenancy-bundle
Then register in config/bundles.php, copy the example hakam_multi_tenancy.yaml from docs, and create the required directories.
๐ Useful Links
- Full Documentation: [https://ramyhakam.github.io/multi_tenancy_bundle/]
 - GitHub: https://github.com/RamyHakam/multi_tenancy_bundle
 - Packagist: https://packagist.org/packages/hakam/multi-tenancy-bundle
 - Example Project: https://github.com/RamyHakam/multi-tenancy-project-example
 
๐ License
MIT ยฉ Ramy Hakam