-- ============================================================================= -- Migration: 20260417000002_dev_tables_ordem -- Adiciona coluna `ordem` em dev_auditoria_items e dev_competitor_features -- (pra suportar reordenação por drag-and-drop na UI). -- ============================================================================= -- dev_auditoria_items ALTER TABLE public.dev_auditoria_items ADD COLUMN IF NOT EXISTS ordem INTEGER NOT NULL DEFAULT 0; CREATE INDEX IF NOT EXISTS idx_dev_auditoria_items_ordem ON public.dev_auditoria_items(ordem); -- Popular ordem existente (status + id pra evitar colisão) UPDATE public.dev_auditoria_items SET ordem = sub.rn FROM ( SELECT id, ROW_NUMBER() OVER ( ORDER BY CASE status WHEN 'aberto' THEN 1 WHEN 'em_analise' THEN 2 WHEN 'resolvido' THEN 3 WHEN 'wontfix' THEN 4 WHEN 'duplicado' THEN 5 ELSE 6 END, id ) AS rn FROM public.dev_auditoria_items ) sub WHERE public.dev_auditoria_items.id = sub.id; -- dev_competitor_features ALTER TABLE public.dev_competitor_features ADD COLUMN IF NOT EXISTS ordem INTEGER NOT NULL DEFAULT 0; CREATE INDEX IF NOT EXISTS idx_dev_competitor_features_ordem ON public.dev_competitor_features(competitor_id, ordem); -- Popular ordem existente (por competitor + categoria + id) UPDATE public.dev_competitor_features SET ordem = sub.rn FROM ( SELECT id, ROW_NUMBER() OVER ( PARTITION BY competitor_id ORDER BY COALESCE(categoria, 'zzz'), id ) AS rn FROM public.dev_competitor_features ) sub WHERE public.dev_competitor_features.id = sub.id;