Primeiro commit
This commit is contained in:
27
sql/create-devolucoes-table.sql
Normal file
27
sql/create-devolucoes-table.sql
Normal 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';
|
||||
Reference in New Issue
Block a user