norvutec / multi-tenancy
允许在单个应用程序中拥有多个租户
1.0.6
2024-08-15 10:51 UTC
Requires
- php: >=8.2
- ext-ctype: *
- ext-iconv: *
- doctrine/dbal: ^3
- doctrine/doctrine-bundle: ^2.12
- doctrine/doctrine-migrations-bundle: ^3.3
- doctrine/orm: ^3.2
- symfony/console: 7.1.*
- symfony/dotenv: 7.1.*
- symfony/flex: ^2
- symfony/framework-bundle: 7.1.*
- symfony/runtime: 7.1.*
- symfony/serializer: 7.1.*
- symfony/validator: 7.1.*
- symfony/yaml: 7.1.*
Conflicts
README
多租户包将管理您的Symfony应用程序的多租户。
它将允许您在应用程序中拥有多个租户,并轻松管理它们。
当前租户支持以下功能
- 按租户配置数据库
安装
composer require norvutec/multi-tenancy
Doctrine 配置
doctrine: dbal: default_connection: default connections: default: url: '%env(resolve:DATABASE_URL)%' driver: 'pdo_mysql' charset: utf8mb4 server_version: '10.6.16-MariaDB' profiling_collect_backtrace: '%kernel.debug%' use_savepoints: true tenant: url: '%env(resolve:DATABASE_URL)%' driver: 'pdo_mysql' charset: utf8mb4 server_version: '10.6.16-MariaDB' profiling_collect_backtrace: '%kernel.debug%' use_savepoints: true wrapper_class: Norvutec\MultiTenancyBundle\Doctrine\DBAL\TenantConnection orm: default_entity_manager: default entity_managers: default: connection: default mappings: System: is_bundle: false type: attribute dir: '%kernel.project_dir%/src/Entity/System' prefix: 'App\Entity\System' alias: System tenant: connection: tenant mappings: Tenant: is_bundle: false type: attribute dir: '%kernel.project_dir%/src/Entity/Tenant' prefix: 'App\Entity\Tenant' alias: Tenant
多租户配置
创建文件 config/packages/multi_tenancy.yaml
multi_tenancy: tenant_class: App\Entity\System\Tenant ## Class Implementing Tenant Interface tenant_select_route: app_test2 ## Route for Tenant Selection redirection tenant_migration_config: 'config/migrations/tenant.yaml' ## Migration Configuration for Tenant