mirror of
https://github.com/archtechx/tenancy.git
synced 2026-06-21 01:54:03 +00:00
1.3 KiB
1.3 KiB
Models And Domains Reference
Use this when changing tenant/domain models or tenant-owned models.
Source Files
src/Database/Models/Tenant.phpsrc/Database/Models/Domain.phpsrc/Contracts/Tenant.phpsrc/Contracts/Domain.phpsrc/Database/Concerns/*assets/migrations/*
Default Tenant Model
- Table:
tenants - Primary key:
id - Uses
VirtualColumn,CentralConnection,GeneratesIds,HasInternalKeys,TenantRun,InitializationHelpers,InvalidatesResolverCache. - Dispatches tenant lifecycle events.
Default Domain Model
- Unique
domaincolumn. - Belongs to configured tenant model using
Tenancy::tenantKeyColumn(). - Uses
CentralConnection,EnsuresDomainIsNotOccupied,ConvertsDomainsToLowercase,InvalidatesTenantsResolverCache.
Single-Database Traits
BelongsToTenantFillsCurrentTenantTenantConnectionCentralConnectionHasScopedValidationRulesRLSModel
Rules
- Custom tenant models must implement
Stancl\Tenancy\Contracts\Tenant. - Custom domain models must implement
Stancl\Tenancy\Contracts\Domain. - Preserve resolver cache invalidation behavior when replacing models.
- Use tenant scoping traits consistently for single-database tenancy.
- If auto-increment tenant IDs are used, update config and migrations together.