129 lines
5.5 KiB
SQL
129 lines
5.5 KiB
SQL
-- Schema DDL-only para o MySQL de TESTE local do painel-clientes-web ("GTI Gerenciador").
|
|
--
|
|
-- Nenhum dado real de cliente. Nenhum INSERT. Só estrutura, reconstruída
|
|
-- a partir de fontes autoritativas já existentes no próprio código-fonte
|
|
-- (nunca inventada) -- a origem de cada tabela está anotada abaixo.
|
|
--
|
|
-- Uso: ver gerenciador/README.md, seção "Ambiente de teste local (MySQL descartável)".
|
|
|
|
-- =====================================================================
|
|
-- CLIENTE
|
|
-- Fonte: licenciamento-n8n/docs/MAPEAMENTO_BANCO.md (CREATE TABLE original,
|
|
-- SHOW CREATE TABLE confirmado contra o banco de dev) + coluna ATIVO
|
|
-- documentada como ALTER TABLE manual em app/db/clientes.py (docstring do
|
|
-- módulo). Ambas as fontes vivem fora deste subtree (repositório original
|
|
-- BLOQUEIO SGV) -- lidas apenas como referência de schema, nunca copiadas
|
|
-- como dado.
|
|
-- =====================================================================
|
|
CREATE TABLE CLIENTE (
|
|
ID int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
CODIGO varchar(6) NOT NULL,
|
|
CNPJ varchar(20) NOT NULL,
|
|
RAZAO varchar(60) NOT NULL,
|
|
FANTASIA varchar(45) NOT NULL,
|
|
IE varchar(20) NOT NULL,
|
|
ENDERECO varchar(45) NOT NULL,
|
|
CIDADE varchar(45) NOT NULL,
|
|
BAIRRO varchar(45) NOT NULL,
|
|
UF char(2) NOT NULL,
|
|
CONTATO varchar(45) NOT NULL,
|
|
TELEFONE varchar(14) NOT NULL,
|
|
CELULAR varchar(14) NOT NULL,
|
|
CEP varchar(10) NOT NULL,
|
|
IMPLANTACAO decimal(15,2) NOT NULL,
|
|
MENSALIDADE decimal(15,2) NOT NULL,
|
|
JUROS_MORA decimal(15,2) NOT NULL,
|
|
JUROS_MULTA decimal(15,2) NOT NULL,
|
|
DATA_CONTRATO date NOT NULL,
|
|
EMAIL varchar(80) NOT NULL,
|
|
OBS varchar(250) DEFAULT NULL,
|
|
VENCIMENTO_CONTRATO date NOT NULL,
|
|
DIA_VENCIMENTO char(2) NOT NULL,
|
|
ATIVO TINYINT(1) NOT NULL DEFAULT 1,
|
|
PRIMARY KEY (ID)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
|
|
-- =====================================================================
|
|
-- CLIENTE_CONTATO
|
|
-- Fonte: NÃO existe um CREATE TABLE literal documentado em nenhum arquivo
|
|
-- encontrado (docs/CANDIDATO_CLIENTE_CONTATO.md descreve a tabela e cita
|
|
-- "ver mensagem anterior" para o DDL exato, que não está em nenhum arquivo
|
|
-- do repositório). Reconstruída a partir do uso real e exclusivo da tabela
|
|
-- em app/db/contatos.py (todas as colunas referenciadas em SELECT/INSERT/
|
|
-- UPDATE: ID, CLIENTE_ID, NOME, TELEFONE, EMAIL) + o comportamento de FK
|
|
-- descrito no docstring do mesmo módulo ("CLIENTE_ID FK real, ON DELETE
|
|
-- RESTRICT ON UPDATE CASCADE" para CLIENTE.ID). Nenhuma coluna foi
|
|
-- inventada além do que o próprio código exige para funcionar.
|
|
-- =====================================================================
|
|
CREATE TABLE CLIENTE_CONTATO (
|
|
ID int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
CLIENTE_ID int(10) unsigned NOT NULL,
|
|
NOME varchar(80) DEFAULT NULL,
|
|
TELEFONE varchar(20) NOT NULL,
|
|
EMAIL varchar(80) DEFAULT NULL,
|
|
PRIMARY KEY (ID),
|
|
KEY IDX_CLIENTE_CONTATO_CLIENTE_ID (CLIENTE_ID),
|
|
CONSTRAINT FK_CLIENTE_CONTATO_CLIENTE FOREIGN KEY (CLIENTE_ID)
|
|
REFERENCES CLIENTE (ID) ON DELETE RESTRICT ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
|
|
-- =====================================================================
|
|
-- Clientes_Chaves (legado, o painel só LÊ, nunca escreve)
|
|
-- Fonte: licenciamento-n8n/docs/MAPEAMENTO_BANCO.md (CREATE TABLE original,
|
|
-- SHOW CREATE TABLE confirmado contra o banco de dev).
|
|
-- =====================================================================
|
|
CREATE TABLE Clientes_Chaves (
|
|
ID varchar(6) NOT NULL,
|
|
M1 varchar(30) NOT NULL,
|
|
M2 varchar(30) NOT NULL,
|
|
M3 varchar(30) NOT NULL,
|
|
M4 varchar(30) NOT NULL,
|
|
M5 varchar(30) NOT NULL,
|
|
M6 varchar(30) NOT NULL,
|
|
M7 varchar(30) NOT NULL,
|
|
M8 varchar(30) NOT NULL,
|
|
M9 varchar(30) NOT NULL,
|
|
M10 varchar(30) NOT NULL,
|
|
M11 varchar(30) NOT NULL,
|
|
M12 varchar(30) NOT NULL,
|
|
Cliente varchar(40) NOT NULL,
|
|
Prorrogacao date NOT NULL,
|
|
PRIMARY KEY (ID)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
|
|
-- =====================================================================
|
|
-- FUNCIONARIO_PAINEL
|
|
-- Fonte: CREATE TABLE + ALTER TABLE (coluna PERFIL) documentados
|
|
-- integralmente no docstring de app/db/funcionarios.py (dentro deste
|
|
-- mesmo subtree, gerenciador/), já com a coluna PERFIL incorporada.
|
|
-- =====================================================================
|
|
CREATE TABLE FUNCIONARIO_PAINEL (
|
|
ID INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
NOME VARCHAR(80) NOT NULL,
|
|
LOGIN VARCHAR(40) NOT NULL,
|
|
SENHA_HASH VARCHAR(255) NOT NULL,
|
|
PERFIL ENUM('ADMIN','PADRAO') NOT NULL DEFAULT 'ADMIN',
|
|
ATIVO TINYINT(1) NOT NULL DEFAULT 1,
|
|
CRIADO_EM DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (ID),
|
|
UNIQUE KEY UQ_FUNCIONARIO_PAINEL_LOGIN (LOGIN)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
|
|
-- =====================================================================
|
|
-- LOG_PAINEL
|
|
-- Fonte: CREATE TABLE documentado integralmente no docstring de
|
|
-- app/db/log.py (dentro deste mesmo subtree, gerenciador/).
|
|
-- =====================================================================
|
|
CREATE TABLE LOG_PAINEL (
|
|
ID INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
CRIADO_EM DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
USUARIO VARCHAR(60) NOT NULL,
|
|
ACAO VARCHAR(40) NOT NULL,
|
|
ENTIDADE VARCHAR(20) NOT NULL,
|
|
ENTIDADE_ID VARCHAR(20) DEFAULT NULL,
|
|
SUCESSO TINYINT(1) NOT NULL,
|
|
DETALHE VARCHAR(500) DEFAULT NULL,
|
|
PRIMARY KEY (ID),
|
|
KEY IDX_LOG_PAINEL_CRIADO_EM (CRIADO_EM)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|