Runbook — Aplicar uma migration
Onde: SQL Editor do Supabase (o projeto correto: dev ou produção).
Criar uma migration nova
- Crie um arquivo em
supabase/migrations/com timestamp crescente no nome, ex.:20260815120000_minha_mudanca.sql. - Escreva o SQL idempotente quando possível (
create table if not exists, etc.), com RLS habilitada e policies para a nova tabela. - Se a lógica for sensível, use função
SECURITY DEFINER(não confie no cliente). - Espelhe o schema em
src/types/supabase.tse o domínio emsrc/types/content.ts. - Rode
npm run typecheckenpm run test.
Aplicar em um ambiente
- Abra o SQL Editor do projeto Supabase certo.
- Cole o conteúdo da migration e execute.
- Aplique na ordem cronológica — nunca pule uma anterior não aplicada.
- Confirme o efeito (a tabela/coluna/função existe?).
Como saber o que já foi aplicado em produção
Não há tracking automático de migrations neste projeto. Confira pela existência do objeto que a migration cria. Exemplos:
-- pepitas aplicadas?
select to_regclass('public.loyalty_transactions'); -- não-nulo = existe
-- hardening de segurança aplicado?
select proname from pg_proc where proname = 'can_admin_section';
-- banners por página aplicados?
select to_regclass('public.page_banners');Se o objeto não existir, aplique a migration correspondente.
Nunca edite uma migration já aplicada em produção. Faça uma migration nova que corrige/altera.