Pular para conteúdo

Database

Objetivo

Definir a estrutura lógica do banco de dados do CoreFlow CRM.

Este documento estabelece as diretrizes para modelagem, persistência, integridade e relacionamento das entidades do CRM.


Banco Oficial

  • PostgreSQL 16+

ORM Oficial

  • Django ORM

Identificação

Todas as tabelas deverão utilizar:

  • UUID como chave primária

Nunca utilizar IDs sequenciais em entidades de negócio.


Multiempresa

Todas as tabelas deverão possuir:

company_id

Toda consulta deverá respeitar o tenant ativo.


Auditoria

Todas as tabelas deverão possuir:

created_at
updated_at
created_by
updated_by

Exclusão

Soft Delete obrigatório.

Campos:

deleted_at
deleted_by

Entidades Principais

Leads

Responsável pela captação de potenciais clientes.


Contacts

Pessoas vinculadas às empresas.


Accounts

Empresas ou clientes.


Opportunities

Negociações comerciais.


Activities

Histórico de interações.


Proposals

Propostas comerciais.


Campaigns

Campanhas de marketing.


Customer Success

Relacionamento pós-venda.


Relacionamentos

erDiagram

LEADS ||--o{ ACTIVITIES : possui

ACCOUNTS ||--o{ CONTACTS : possui

ACCOUNTS ||--o{ OPPORTUNITIES : possui

OPPORTUNITIES ||--o{ PROPOSALS : gera

CAMPAIGNS ||--o{ LEADS : origem

Integridade

Obrigatório:

  • Foreign Keys
  • Índices
  • Constraints
  • Unique Keys
  • Check Constraints

Índices

Criar índices para:

  • company_id
  • status
  • responsible_id
  • created_at
  • updated_at

Convenções

Nome das tabelas:

  • snake_case
  • plural

Exemplos:

crm_leads

crm_contacts

crm_accounts

crm_opportunities

Convenções de Campos

id

company_id

created_at

updated_at

created_by

updated_by

deleted_at

deleted_by

Performance

Utilizar:

  • índices compostos
  • paginação
  • eager loading quando necessário
  • consultas otimizadas

Migrações

Todas as alterações deverão ocorrer através de migrações versionadas.

Nunca alterar tabelas manualmente em produção.


Backup

Banco preparado para:

  • backup completo
  • backup incremental
  • restore por ambiente

Segurança

  • LGPD
  • Criptografia quando aplicável
  • Auditoria
  • RBAC
  • Controle por empresa

Objetivo Final

Disponibilizar um modelo de dados consistente, performático, escalável e alinhado aos princípios da CoreFlow Platform.