Primeiro commit
This commit is contained in:
37
sql/alter-despesas-text-fields.sql
Normal file
37
sql/alter-despesas-text-fields.sql
Normal 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)';
|
||||
Reference in New Issue
Block a user