Ir para o conteúdo
Promovaweb

Versionar tabelas com migrations

Revisado em

Prepare o ambiente

Registre alterações de schema em SQL e confira sua reprodução em um banco local descartável.

  • Projeto de estudo separado dos registros de produção.
  • Conhecimento da trilha Comece aqui.

Crie a primeira alteração

Com a CLI inicializada, gere uma migration para uma tabela de estudo:

Terminal
npx supabase migration new criar_notas

Abra o arquivo criado em supabase/migrations e adicione:

create table public.notas (
id uuid primary key default gen_random_uuid(),
texto text not null
);
alter table public.notas enable row level security;

A tabela começa sem políticas para o cliente. O SQL Editor administrativo pode acessar registros com privilégios diferentes dos usados pelo navegador. Não use essa consulta administrativa como comprovação de acesso do usuário.

Reproduza o schema

Em um banco local descartável, execute:

Terminal
npx supabase db reset

O reset recria o banco local a partir das migrations e seeds. Ele apaga alterações e registros locais não representados nesses arquivos. Confirme o ambiente antes de executar o comando e mantenha fora dele qualquer informação necessária.

No Studio, abra a tabela criada. Compare as colunas com o arquivo SQL e consulte o estado de RLS. Rode o reset novamente para conferir se a sequência completa permanece reproduzível. Se houver falha, corrija a migration ainda não compartilhada e repita a conferência.

Compartilhe o histórico

Versione os arquivos SQL junto com a aplicação. Depois que uma migration tiver sido aplicada em ambiente compartilhado, registre alterações posteriores em outro arquivo. Reescrever o histórico já aplicado dificulta reproduzir o estado do banco.

Para um projeto remoto existente, siga o fluxo oficial de vínculo e captura do schema antes de enviar migrations. Confira a referência do projeto, o histórico remoto e a estratégia de backup. O envio remoto não faz parte deste exercício local.

Inclua políticas, índices e grants nas migrations correspondentes. Uma tabela criada corretamente pode continuar indisponível para o cliente se as permissões não acompanharem a mudança.

Confira o resultado

Execute as conferências descritas no guia e registre ambiente, versão e resultado antes de aplicar em outro projeto.

Fontes consultadas

Procedimento conferido na documentação oficial. A execução em uma instância Supabase não foi realizada nesta revisão.