Primeiro commit

This commit is contained in:
2025-10-14 14:04:17 -03:00
commit 33d8645eb4
109 changed files with 55424 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
-- =====================================================
-- ALTERAÇÃO DA TABELA DESPESAS PARA CAMPOS LIVRES
-- =====================================================
-- Adicionar novos campos de texto livre
ALTER TABLE despesas ADD COLUMN IF NOT EXISTS tipo_nome TEXT;
ALTER TABLE despesas ADD COLUMN IF NOT EXISTS fornecedor_nome TEXT;
-- Migrar dados existentes (se houver)
UPDATE despesas
SET tipo_nome = (
SELECT nome FROM tipos_despesas
WHERE tipos_despesas.id = despesas.tipo_despesa_id
)
WHERE tipo_despesa_id IS NOT NULL AND tipo_nome IS NULL;
UPDATE despesas
SET fornecedor_nome = (
SELECT razao_social FROM fornecedores
WHERE fornecedores.id = despesas.fornecedor_id
)
WHERE fornecedor_id IS NOT NULL AND fornecedor_nome IS NULL;
-- Remover as constraints das chaves estrangeiras (se existirem)
ALTER TABLE despesas DROP CONSTRAINT IF EXISTS despesas_tipo_despesa_id_fkey;
ALTER TABLE despesas DROP CONSTRAINT IF EXISTS despesas_fornecedor_id_fkey;
-- Tornar os campos antigos opcionais (para compatibilidade)
ALTER TABLE despesas ALTER COLUMN tipo_despesa_id DROP NOT NULL;
-- Criar índice nos novos campos para performance
CREATE INDEX IF NOT EXISTS idx_despesas_tipo_nome ON despesas(tipo_nome);
CREATE INDEX IF NOT EXISTS idx_despesas_fornecedor_nome ON despesas(fornecedor_nome);
-- Comentários para documentação
COMMENT ON COLUMN despesas.tipo_nome IS 'Nome do tipo de despesa (campo livre)';
COMMENT ON COLUMN despesas.fornecedor_nome IS 'Nome do fornecedor (campo livre)';