Banco de Dados

Estrutura Atual do Banco

Listagem completa das tabelas do banco de dados PostgreSQL do AgrSis, organizadas por modulo.

Estrutura Atual do Banco de Dados

Banco: PostgreSQL 16 Total de tabelas: ~78 (apos limpeza de tabelas legadas — originalmente eram 97)

O sistema passou por uma consolidacao significativa: tabelas do sistema legado (Laravel/Livewire com nomes em portugues) foram migradas para uma estrutura padronizada em ingles. Tabelas obsoletas como quotation_items, winning_quotation_items, quotation_statuses, sent_quotations, received_quotations, quotation_returns, entre outras do fluxo antigo de cotacoes, foram substituidas pelo novo modelo de orders + proposals.


Tabelas por Modulo

Core Laravel (4 tabelas)

Tabelas padrao do framework, mantidas em ingles.

TabelaTipoDescricao
usersTransacionalUsuarios do sistema (todos os perfis: admin, producer, supplier, consultant)
cacheOperacionalCache do framework
jobsOperacionalFila de jobs assincronos
personal_access_tokensOperacionalTokens de autenticacao API (Sanctum)

Autenticacao e Acessos (4 tabelas)

TabelaTipoDescricao
access_typesLookupTipos de acesso/perfis disponiveis
user_accessesTransacionalRelacionamento N:N entre usuarios e tipos de acesso
password_reset_tokensOperacionalTokens para recuperacao de senha
email_verificationsOperacionalCodigos de verificacao de email com expiracao

Produtores (4 tabelas)

TabelaTipoDescricao
producer_profilesTransacionalPerfil estendido do produtor (tipo PF/PJ, area plantada, associacao, cooperativas)
producer_addressesTransacionalEnderecos do produtor (fazenda, sede, entrega) com coordenadas
producer_plantation_culturesPivotVinculo N:N entre produtor e culturas plantadas
customer_referencesTransacionalReferencias comerciais do produtor

Nota: A tabela customers do sistema legado foi substituida por producer_profiles vinculado a users. Tabelas antigas como customer_addresses, customer_managers, customer_plantation_cultures, customer_subscriptions, customer_subscription_payments e customer_subscription_cancellations foram removidas ou migradas.


Fornecedores (7 tabelas)

TabelaTipoDescricao
suppliersTransacionalDados cadastrais do fornecedor (razao social, CNPJ, email, telefone, site)
supplier_addressesTransacionalEnderecos do fornecedor (matriz, filial, deposito)
supplier_product_typesPivotTipos de produto que o fornecedor trabalha
supplier_statesPivotEstados onde o fornecedor atua
supplier_state_citiesPivotCidades especificas onde o fornecedor atua
supplier_managersTransacionalResponsaveis/gestores do fornecedor
supplier_order_declinesTransacionalRegistro de cotacoes recusadas pelo fornecedor

Enderecos e Geografia (4 tabelas)

TabelaTipoDescricao
addressesTransacionalEnderecos polimorfico (addressable_type + addressable_id) com latitude/longitude
statesLookupUnidades Federativas (27 estados brasileiros com codigo IBGE)
citiesLookupCidades brasileiras com codigo IBGE, vinculadas ao estado
manager_addressesTransacionalEnderecos de responsaveis/gestores

Produtos e Insumos (9 tabelas)

TabelaTipoDescricao
productsTransacionalCatalogo de produtos/insumos agricolas
product_typesLookupCategorias de produtos (herbicida, fungicida, fertilizante, etc.)
product_subtypesLookupSubcategorias de produtos
product_type_unitsPivotUnidades de medida aceitas por tipo de produto
product_brandsPivotVinculo N:N entre produtos e marcas
product_variationsTransacionalVariacoes de um produto (embalagens, concentracoes)
brandsLookupMarcas de produtos
measurement_unitsLookupUnidades de medida (kg, L, ton, saca, etc.) com sigla
active_ingredientsLookupPrincipios ativos de defensivos agricolas

Culturas Agricolas (1 tabela)

TabelaTipoDescricao
plantation_culturesLookupCulturas agricolas (soja, milho, cafe, algodao, etc.)

Cotacoes / Licitacoes (7 tabelas)

TabelaTipoDescricao
ordersTransacionalCotacoes/licitacoes criadas por produtores. Campos: numero, UUID, status (enum), datas de publicacao/analise/adjudicacao, prazo de entrega, frete
order_itemsTransacionalItens de uma cotacao (produto, quantidade, unidade, aceita similar)
order_item_schedulesTransacionalProgramacao de entrega dos itens
order_status_historyTransacionalHistorico de mudancas de status da cotacao
order_suppliersPivotFornecedores convidados para a cotacao
order_rejection_reasonsLookupMotivos padrao para rejeicao
favorite_ordersPivotCotacoes favoritadas por fornecedores

Propostas (2 tabelas)

TabelaTipoDescricao
proposalsTransacionalPropostas enviadas por fornecedores em resposta a cotacoes. Campos: status, valores, desconto percentual, frete, data de aceite, visualizacao, cancelamento
proposal_itemsTransacionalItens da proposta com preco unitario, quantidade e dados do PDF

Avaliacoes e Reputacao (3 tabelas)

TabelaTipoDescricao
order_reviewsTransacionalAvaliacoes de cotacoes finalizadas (nota, comentario)
order_delivery_statusTransacionalStatus de entrega dos pedidos
user_reputation_pointsTransacionalPontos de reputacao acumulados por usuarios

Contratos e Documentos (6 tabelas)

TabelaTipoDescricao
contract_typesLookupTipos de contrato
contract_templatesLookupModelos de contrato com variaveis
contract_signaturesTransacionalAssinaturas digitais de contratos
contract_quotationsPivotVinculo contrato-cotacao
contract_suppliesTransacionalFornecimentos contratados
digital_certificatesTransacionalCertificados digitais de responsaveis

Financeiro (7 tabelas)

TabelaTipoDescricao
payment_methodsLookupFormas de pagamento aceitas (PIX, boleto, cartao)
transactionsTransacionalTransacoes financeiras
operationsTransacionalOperacoes realizadas
transaction_logsTransacionalLog detalhado de transacoes
payment_attemptsTransacionalTentativas de pagamento com status
order_paymentsTransacionalPagamentos vinculados a pedidos
return_refundsTransacionalEstornos e devolucoes

Planos e Assinaturas (5 tabelas)

TabelaTipoDescricao
subscription_plansLookupPlanos de assinatura (nome, slug, precos mensal/trimestral/anual, trial, perfil)
user_subscriptionsTransacionalAssinaturas ativas dos usuarios (status, ciclo, datas, gateway ID)
subscription_paymentsTransacionalPagamentos de assinaturas (valor, status, metodo, gateway ID)
plan_featuresLookupFeatures configuraveis dos planos (key, nome, tipo limit/boolean)
plan_feature_valuesPivotValores de cada feature por plano

Nota: As tabelas antigas subscription_method_changes, customer_subscriptions e customer_subscription_payments foram substituidas por esta estrutura.


Notificacoes (3 tabelas)

TabelaTipoDescricao
notificationsTransacionalNotificacoes in-app para usuarios (titulo, mensagem, link, lida/nao lida)
notification_settingsTransacionalPreferencias de notificacao por usuario
notification_channel_configLookupConfiguracao de canais (in-app, email, WhatsApp) por tipo de notificacao

Consultores (2 tabelas)

TabelaTipoDescricao
consultant_producer_linksTransacionalVinculo entre consultores e produtores (status: pending, active)
consultant_activation_tokensOperacionalTokens de ativacao para convite de consultores

Paginas e Conteudo (1 tabela)

TabelaTipoDescricao
static_pagesTransacionalPaginas estaticas do CMS (termos de uso, privacidade) com editor HTML

Configuracoes e Auditoria (2 tabelas)

TabelaTipoDescricao
settingsLookupConfiguracoes chave-valor agrupadas (geral, integracoes, SMTP, WhatsApp, ASAAS)
audit_logsTransacionalLog de auditoria de acoes administrativas

Responsaveis e Gestores (3 tabelas)

TabelaTipoDescricao
managersTransacionalResponsaveis genericos
manager_addressesTransacionalEnderecos de responsaveis
manager_certificatesTransacionalCertificados de responsaveis

Resumo por Tipo

TipoQuantidadeDescricao
Lookup~18Tabelas de referencia/dominio (tipos, status, categorias). Dados relativamente estaticos
Transacional~48Dados de negocio que crescem com o uso da plataforma
Pivot~8Tabelas de relacionamento N:N
Operacional~4Tabelas de infraestrutura (cache, jobs, tokens)

Historico de Limpeza

O banco original do sistema legado possuia 97 tabelas, muitas com nomes em portugues e estruturas redundantes. A reestruturacao para a v1 resultou em:

  1. Renomeacao PT para EN de todas as tabelas e colunas
  2. Consolidacao de tabelas redundantes (ex: clientes + cliente_enderecosproducer_profiles + addresses polimorfico)
  3. Remocao de tabelas do fluxo antigo de cotacoes (quotation_items, winning_quotation_items, quotation_statuses, sent_quotations, received_quotations, quotation_returns, etc.)
  4. Novo modelo de propostas (proposals + proposal_items) substituindo o fluxo antigo de cotacao/fornecimento
  5. Novo modelo de assinaturas (user_subscriptions + subscription_payments + plan_features) substituindo o modelo antigo vinculado a customers

O mapeamento completo de nomes PT para EN esta documentado em database-mapping.

Copyright © 2026