Pular para o conteúdo
⚙️ HOW-TO

Criar e gerenciar grupos de projetos

Groups agrupam projetos de um mesmo produto SaaS e habilitam o provisionamento automático de tenants isolados.

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

Estrutura de um Group "crm-saas"
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.

bash — 1. autenticar com a sua conta
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)
bash — 2. criar o group
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>" }'
bash — 3. gerar a Group API Key
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.

Essa página ajudou?