Covil do Mineiro — Docs

Runbook — Aplicar uma migration

Onde: SQL Editor do Supabase (o projeto correto: dev ou produção).

Criar uma migration nova

  1. Crie um arquivo em supabase/migrations/ com timestamp crescente no nome, ex.: 20260815120000_minha_mudanca.sql.
  2. Escreva o SQL idempotente quando possível (create table if not exists, etc.), com RLS habilitada e policies para a nova tabela.
  3. Se a lógica for sensível, use função SECURITY DEFINER (não confie no cliente).
  4. Espelhe o schema em src/types/supabase.ts e o domínio em src/types/content.ts.
  5. Rode npm run typecheck e npm run test.

Aplicar em um ambiente

  1. Abra o SQL Editor do projeto Supabase certo.
  2. Cole o conteúdo da migration e execute.
  3. Aplique na ordem cronológica — nunca pule uma anterior não aplicada.
  4. 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.

On this page