mirror of
https://github.com/archtechx/tenancy.git
synced 2026-06-21 17:34:03 +00:00
1.2 KiB
1.2 KiB
Database Tenancy Reference
Use this when changing tenant database isolation or managers.
Source Files
src/Database/DatabaseManager.phpsrc/Database/DatabaseConfig.phpsrc/Database/TenantDatabaseManagers/*src/Bootstrappers/DatabaseTenancyBootstrapper.phpassets/config.php
Supported Isolation
- Separate tenant databases.
- PostgreSQL schema isolation.
- Permission-controlled tenant database users.
- PostgreSQL RLS for single-database tenancy.
Managers
- SQLite:
SQLiteDatabaseManager - MySQL/MariaDB:
MySQLDatabaseManager - PostgreSQL:
PostgreSQLDatabaseManager - SQL Server:
MicrosoftSQLDatabaseManager - Permission-controlled variants for MySQL, PostgreSQL, SQL Server.
- PostgreSQL schema managers for schema isolation.
Rules
tenantis a reserved dynamic connection name.- Use
database.template_tenant_connectionfor the tenant connection template. - Use
database.tenant_host_connection_namefor database creation/deletion host connection. - Tenant DB names are
prefix + tenant_id + suffix. - Use schema managers only when PostgreSQL schema isolation is intended.
- Test creation, migration, rollback, deletion, and connection restoration.