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,27 @@
-- Criar tabela de devoluções e trocas
CREATE TABLE IF NOT EXISTS devolucoes (
id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
venda_id UUID NOT NULL REFERENCES vendas(id) ON DELETE CASCADE,
item_id UUID NOT NULL REFERENCES venda_itens(id) ON DELETE CASCADE,
quantidade_devolvida INTEGER NOT NULL CHECK (quantidade_devolvida > 0),
valor_devolucao DECIMAL(10,2) NOT NULL CHECK (valor_devolucao >= 0),
tipo_operacao VARCHAR(20) DEFAULT 'devolucao' CHECK (tipo_operacao IN ('devolucao', 'troca')),
motivo TEXT,
data_devolucao DATE NOT NULL DEFAULT CURRENT_DATE,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);
-- Criar índices para performance
CREATE INDEX IF NOT EXISTS idx_devolucoes_venda_id ON devolucoes(venda_id);
CREATE INDEX IF NOT EXISTS idx_devolucoes_item_id ON devolucoes(item_id);
CREATE INDEX IF NOT EXISTS idx_devolucoes_data ON devolucoes(data_devolucao);
-- Comentários para documentação
COMMENT ON TABLE devolucoes IS 'Registro de devoluções de produtos vendidos';
COMMENT ON COLUMN devolucoes.venda_id IS 'ID da venda original';
COMMENT ON COLUMN devolucoes.item_id IS 'ID do item da venda que foi devolvido';
COMMENT ON COLUMN devolucoes.quantidade_devolvida IS 'Quantidade de itens devolvidos';
COMMENT ON COLUMN devolucoes.valor_devolucao IS 'Valor total da devolução';
COMMENT ON COLUMN devolucoes.motivo IS 'Motivo da devolução';
COMMENT ON COLUMN devolucoes.data_devolucao IS 'Data em que a devolução foi processada';