-- =============================================
-- CORRIGIR CONSTRAINTS DA TABELA PRODUTOS
-- =============================================

-- Verificar constraints existentes
SELECT 
    conname as constraint_name,
    pg_get_constraintdef(oid) as constraint_definition
FROM pg_constraint 
WHERE conrelid = 'produtos'::regclass 
AND contype = 'c';

-- Remover constraints problemáticas se existirem
DO $$ 
BEGIN
    -- Remover constraint de gênero se existir
    IF EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'produtos_genero_check') THEN
        ALTER TABLE produtos DROP CONSTRAINT produtos_genero_check;
    END IF;
    
    -- Remover constraint de estação se existir  
    IF EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'produtos_estacao_check') THEN
        ALTER TABLE produtos DROP CONSTRAINT produtos_estacao_check;
    END IF;
END $$;

-- Adicionar constraints mais flexíveis
ALTER TABLE produtos 
ADD CONSTRAINT produtos_genero_check 
CHECK (genero IN ('Menino', 'Menina', 'Unissex', 'Bebê'));

ALTER TABLE produtos 
ADD CONSTRAINT produtos_estacao_check 
CHECK (estacao IN ('Verão', 'Inverno', 'Outono', 'Primavera', 'Ano Todo'));

-- Verificar se a coluna descrição existe
DO $$ 
BEGIN
    IF NOT EXISTS (SELECT 1 FROM information_schema.columns 
                   WHERE table_name = 'produtos' AND column_name = 'descricao') THEN
        ALTER TABLE produtos ADD COLUMN descricao TEXT;
    END IF;
END $$;

-- Verificar estrutura final
SELECT column_name, data_type, is_nullable 
FROM information_schema.columns 
WHERE table_name = 'produtos' 
ORDER BY ordinal_position;
