O que é um Group
Um Group é uma coleção de projetos vinculados a um único produto SaaS. O Group define um schema template — as tabelas, funções e políticas RLS que todos os tenants desse produto compartilham como estrutura base.
Quando um novo cliente (tenant) se cadastra no seu SaaS, o sistema clona automaticamente o schema template para um schema isolado, provisionando o banco desse cliente em segundos.
Caso de uso: SaaS multi-cliente
Group: crm-saas (slug: crm-saas)
│
├── Schema template: proj_crm-saas
│ ├── contacts
│ ├── deals
│ ├── activities
│ └── (RLS policies)
│
├── Tenant: empresa-alpha → proj_crm-saas_empresa-alpha
├── Tenant: empresa-beta → proj_crm-saas_empresa-beta
└── Tenant: empresa-gamma → proj_crm-saas_empresa-gamma
Cada tenant tem seu schema completamente isolado. Não há risco de vazamento de dados entre clientes.
Como criar um Group
Ainda não há tela de Groups no dashboard. Hoje o Group é criado pela API de plataforma, autenticando com a sua própria conta SuperDB. Se preferir, peça ao suporte que a equipe cria e devolve a Group API Key.
Antes de criar, tenha um projeto template pronto: é o projeto cujo schema (tabelas, políticas de RLS, funções) será clonado para cada novo cliente.
TOKEN=$(curl -s -X POST https://auth.superdb.com.br/platform/v1/signin \
-H "Content-Type: application/json" \
-d '{"email":"voce@suaempresa.com.br","password":"..."}' | jq -r .access_token)
curl -X POST https://auth.superdb.com.br/platform/v1/groups \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{ "name": "CRM SaaS", "slug": "crm_saas", "template_project_id": "<id do projeto template>" }'
curl -X POST https://auth.superdb.com.br/platform/v1/groups/$GROUP_ID/api-keys \
-H "Authorization: Bearer $TOKEN"
# → { "api_key": "sdb_gk_..." } ← aparece UMA vez. Guarde num cofre.
A sdb_gk_… provisiona tenants e devolve as chaves deles: trate como segredo
de servidor. Nunca no frontend ou no app.
Provisionar o primeiro tenant
Com o Group criado, você pode provisionar tenants. Veja o guia completo em Provisionar um tenant.
Schema template atualizado: Se você adicionar tabelas ao schema template depois de criar tenants, use a API de sync template para propagar as alterações para tenants existentes sem apagar dados.