mirror of
https://github.com/archtechx/tenancy.git
synced 2026-06-21 19:44:04 +00:00
Remove detailed tenancy references from boost resources for better clarity and maintainability
This commit is contained in:
parent
fde2bf0cf4
commit
882eaef8b4
20 changed files with 0 additions and 0 deletions
|
|
@ -0,0 +1,36 @@
|
|||
# Database Tenancy Reference
|
||||
|
||||
Use this when changing tenant database isolation or managers.
|
||||
|
||||
## Source Files
|
||||
|
||||
- `src/Database/DatabaseManager.php`
|
||||
- `src/Database/DatabaseConfig.php`
|
||||
- `src/Database/TenantDatabaseManagers/*`
|
||||
- `src/Bootstrappers/DatabaseTenancyBootstrapper.php`
|
||||
- `assets/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
|
||||
|
||||
- `tenant` is a reserved dynamic connection name.
|
||||
- Use `database.template_tenant_connection` for the tenant connection template.
|
||||
- Use `database.tenant_host_connection_name` for 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.
|
||||
Loading…
Add table
Add a link
Reference in a new issue