59 lines
2.1 KiB
SQL
59 lines
2.1 KiB
SQL
-- =============================================
|
|
-- ADICIONAR CAMPOS PARA MELHORIAS DO CATÁLOGO
|
|
-- Execute este script no SQL Editor do Supabase
|
|
-- =============================================
|
|
|
|
-- 1. Adicionar campos na tabela produtos
|
|
ALTER TABLE produtos
|
|
ADD COLUMN IF NOT EXISTS preco_promocional DECIMAL(10,2),
|
|
ADD COLUMN IF NOT EXISTS em_promocao BOOLEAN DEFAULT false,
|
|
ADD COLUMN IF NOT EXISTS novidade BOOLEAN DEFAULT false;
|
|
|
|
-- 2. Criar índices para melhor performance
|
|
CREATE INDEX IF NOT EXISTS idx_produtos_em_promocao ON produtos(em_promocao) WHERE em_promocao = true;
|
|
CREATE INDEX IF NOT EXISTS idx_produtos_novidade ON produtos(novidade) WHERE novidade = true;
|
|
CREATE INDEX IF NOT EXISTS idx_produtos_catalogo_flags ON produtos(visivel_catalogo, em_promocao, novidade) WHERE visivel_catalogo = true;
|
|
|
|
-- 3. Comentários para documentação
|
|
COMMENT ON COLUMN produtos.preco_promocional IS 'Preço promocional do produto (se em promoção)';
|
|
COMMENT ON COLUMN produtos.em_promocao IS 'Indica se o produto está em promoção';
|
|
COMMENT ON COLUMN produtos.novidade IS 'Indica se o produto é novidade';
|
|
|
|
-- 4. Verificar estrutura
|
|
SELECT
|
|
column_name,
|
|
data_type,
|
|
is_nullable,
|
|
column_default
|
|
FROM information_schema.columns
|
|
WHERE table_name = 'produtos'
|
|
AND column_name IN ('preco_promocional', 'em_promocao', 'novidade')
|
|
ORDER BY ordinal_position;
|
|
|
|
-- 5. Estatísticas iniciais
|
|
SELECT
|
|
'Produtos por categoria' as info,
|
|
COUNT(*) FILTER (WHERE em_promocao = true) as "Em Promoção",
|
|
COUNT(*) FILTER (WHERE novidade = true) as "Novidades",
|
|
COUNT(*) FILTER (WHERE visivel_catalogo = true) as "Visíveis no Catálogo",
|
|
COUNT(*) as "Total"
|
|
FROM produtos;
|
|
|
|
-- =============================================
|
|
-- SUCESSO!
|
|
-- =============================================
|
|
|
|
/*
|
|
✅ CAMPOS ADICIONADOS COM SUCESSO!
|
|
|
|
Novos campos disponíveis:
|
|
- preco_promocional (DECIMAL): Preço em promoção
|
|
- em_promocao (BOOLEAN): Flag de promoção
|
|
- novidade (BOOLEAN): Flag de novidade
|
|
|
|
Próximos passos:
|
|
1. Atualizar o painel admin para gerenciar esses campos
|
|
2. Atualizar o site para exibir promoções e novidades
|
|
3. Adicionar badges visuais para "PROMOÇÃO" e "NOVO"
|
|
*/
|