- Arquivo Wiki:
ssag-core-def-03-multitenancy.md
- Arquivo Git (origem):
docs/core/def/ssag-core-def-03-multitenancy.md
- Responsável: Márcio de Matos Costa
- Última atualização: 11/01/2026
Definir a estratégia oficial de multi-tenancy do SSAG.Core, garantindo que o framework suporte:
- Schema por tenant
- Banco por tenant
sem retrabalho e sem acoplamento no domínio.
Tenant representa:
- cliente
- limite lógico de dados
- unidade de isolamento
- base para licenciamento e segurança
- Um banco
- Schemas separados (ex.:
cli_001, cli_002)
Vantagens
- Infra mais simples
- Migração centralizada
- Bom para PMEs e ambientes iniciais
Desvantagens
- Isolamento menor que DB por tenant
- Requer atenção forte em governança
Vantagens
- Isolamento máximo
- Backup individual
- Segurança superior
Desvantagens
- Infra mais complexa
- Migrações por banco
- Mais conexões
O SSAG.Core deve suportar ambas as abordagens.
A escolha da abordagem deve ser:
- configurável
- externa ao domínio
- resolvida pela infraestrutura
tenant é resolvido no login/request
- ConnectionString é definida dinamicamente
- DbContext não conhece tenant diretamente
- Domain não depende de tenant
- Services não assumem banco fixo
- Infrastructure resolve estratégia e conexão
O SSAG.Core permanece:
- escalável
- reutilizável
- seguro
- pronto para crescimento enterprise
⬅️ Anterior: ssag-core-def-02-seguranca-claims.md
⬆️ Voltar para a Raiz: ssag-core.md