Ayla Painel

Banco de Dados e Prisma

Visão Geral

O banco de dados é PostgreSQL 14, organizado em múltiplos schemas para separar os domínios da aplicação. O acesso ao banco é feito exclusivamente via Prisma ORM, que gera um client tipado a partir do schema definido em código.

Schemas do Banco

SchemaDomínio
segurancaUsuários, autenticação e integrações
operacionalProjetos, documentos e templates
inteligenciaAgentes, habilidades, rotinas, execuções, resultados e aprovações
financeiroMódulo financeiro
marketingMódulo de marketing
auditoriaRegistros de auditoria
aylaConfigurações gerais da plataforma
cadastroCadastros base
corporativoDados corporativos

Entidades Principais

Segurança

EntidadeSchemaDescrição
UsuariosegurancaContas de usuário com dados de autenticação
IntegracaosegurancaCredenciais de integrações externas

Operacional

EntidadeSchemaDescrição
operacional_projetooperacionalProjetos/workspaces da empresa
DocumentooperacionalDocumentos da base de conhecimento
EsqueletooperacionalTemplates reutilizáveis

Inteligência (IA)

EntidadeSchemaDescrição
AgenteinteligenciaAgentes de IA (tipo: social_media, financeiro, atendimento, marketing, vendas, custom)
HabilidadeinteligenciaCapacidades/skills dos agentes
RotinainteligenciaAutomações programadas com cron e fuso horário
AgendamentointeligenciaInstâncias de execução agendadas
ExecucaointeligenciaRegistros de execução (tokens usados, latência, erros)
ResultadointeligenciaResultados gerados pela execução (status: pendente/aprovado/rejeitado)
AprovacaointeligenciaTrilha de auditoria das aprovações
MensagemChatinteligenciaHistórico de mensagens de chat (role: user/assistant)

Trabalhando com Prisma

Atenção: Apenas o líder técnico realiza alterações no banco de dados. Desenvolvedores devem nunca rodar prisma migrate dev ou prisma db push. Quando o banco for atualizado, o líder técnico notificará a equipe para sincronizar o schema.

Comandos permitidos

Sincronizar o schema Prisma com o banco atual:

pnpm --filter @ayla/backend exec prisma db pull

Gerar o Prisma Client após atualizar o schema:

pnpm --filter @ayla/backend exec prisma generate

Comandos proibidos

ComandoMotivo
prisma migrate devCria migrations que podem alterar o banco sem controle
prisma db pushSobrescreve o schema do banco diretamente

Fluxo de Atualização do Banco

  1. Líder técnico realiza a alteração no banco de dados.
  2. Líder técnico notifica a equipe sobre a alteração.
  3. Cada desenvolvedor roda prisma db pull para sincronizar o schema.
  4. Cada desenvolvedor roda prisma generate para regenerar o client tipado.
  5. O desenvolvimento continua com os novos tipos disponíveis.