1
0
Fork 0
mirror of https://github.com/archtechx/tenancy.git synced 2026-06-21 13:44:06 +00:00
tenancy/resources/boost/skills/laravel-tenancy/references/database-tenancy.md

1.2 KiB

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.