Esta página cobre o núcleo de CRM, não o schema inteiro. O banco tem hoje mais de 240
tabelas, views e funções no schema public. Domínios grandes que não estão listados aqui:
cobrança (~40 tabelas com prefixo billing_), automações (automation_*), agentes de
IA (agent_*, otto*, aurora_*) e API pública (api_*).
Para o estado real do schema, a fonte da verdade é packages/supabase/src/types.ts (gerado do
banco) — nunca esta página.
O banco do Vendee é organizado em torno do conceito de workspace (tenant). Toda tabela de dados de negócio carrega um workspace_id para isolamento multi-tenant via RLS.
Os tipos são gerados a partir do schema do banco. Para cada tabela existem três variações:
import type { Database } from "@repo/supabase/types";// Linha lida do banco (todos os campos preenchidos)type Deal = Database["public"]["Tables"]["deals"]["Row"];// Payload de INSERT (campos com default são opcionais)type DealInsert = Database["public"]["Tables"]["deals"]["Insert"];// Payload de UPDATE (todos os campos opcionais)type DealUpdate = Database["public"]["Tables"]["deals"]["Update"];
Nunca escreva tipos de tabela à mão. Use sempre os tipos gerados em @repo/supabase/types — eles são a fonte da verdade e ficam sincronizados com migrations. Se um tipo parecer errado, regenere antes de criar um shim local.