Gerando Migrações
Crie um checkpoint do seu schema, faça alterações e gere arquivos de migração SQL que capturam exatamente o que mudou.
Neste guia
- 1Abra o modal de Checkpoints
- 2Crie um checkpoint (linha de base)
- 3Faça alterações no schema
- 4Gere a migração
- 5Escolha seu framework e exporte
Como as migrações funcionam no ER Flow
O ER Flow gera migrações comparando dois snapshots do schema: a linha de base (seu checkpoint) e o estado atual. Ele detecta cada alteração — novas tabelas, tabelas removidas, tabelas renomeadas, colunas adicionadas, colunas modificadas, novos índices, novas chaves estrangeiras — e gera o código de migração SQL correspondente.
Dois geradores de migração são suportados atualmente: Laravel (PHP) e Phinx (PHP). Cada um gera código de migração específico para o framework com métodos up() e down().
Passo 1: Abra o modal de Checkpoints
Na barra de ferramentas, clique no ícone de Bandeira (Checkpoints). Isso abre o modal de Checkpoints onde você pode gerenciar seus checkpoints de schema e gerar migrações.
Passo 2: Crie um checkpoint (linha de base)
Clique em "Criar Checkpoint" e dê um nome a ele (por exemplo, "Schema inicial", "v1.0", "Antes do refactor de usuários"). Opcionalmente adicione uma descrição.
Um checkpoint captura um snapshot completo do seu schema atual — todas as tabelas, colunas, índices, chaves estrangeiras, triggers e procedures. Esse snapshot é armazenado no servidor e serve como linha de base para diffs futuros.
Você deve criar um checkpoint:
- Antes de começar uma nova funcionalidade ou refactor
- Depois de aplicar uma migração em produção (para marcar o estado atual)
- Em qualquer ponto em que você queira um "ponto de salvamento" para comparar
Passo 3: Faça alterações no schema
Com seu checkpoint salvo, faça as alterações necessárias:
- Adicione novas tabelas e colunas
- Renomeie tabelas ou colunas
- Altere tipos de coluna, valores padrão ou restrições
- Adicione ou remova índices
- Crie ou exclua chaves estrangeiras
- Adicione triggers ou procedures
Cada alteração é rastreada. Quando você gerar uma migração, o ER Flow comparará seu schema atual com o checkpoint e detectará todas as diferenças.
Passo 4: Gere a migração
Volte ao modal de Checkpoints e selecione o checkpoint contra o qual deseja fazer o diff. Clique em "Gerar Migração". O ER Flow executa o motor de diff e exibe:
Painel esquerdo — Alterações Detectadas: - Um resumo de todas as operações (tabelas criadas, colunas adicionadas, índices modificados, etc.) - Uma lista detalhada de cada operação individual - Avisos para possíveis problemas (por exemplo, remover uma coluna com dados)
Painel direito — Código Gerado:
- O código de migração up() (o que executar para avançar)
- O código de migração down() (como fazer rollback)
O motor de diff detecta estes tipos de operação: table.create, table.drop, table.rename, column.add, column.drop, column.rename, column.modify, index.add, index.drop, fk.add, fk.drop, pk.set.
Passo 5: Escolha seu framework e exporte
Na parte inferior do modal de migração, você pode alternar entre geradores:
Laravel: Gera uma classe de migração padrão do Laravel com Schema::create(), Schema::table(), $table->string(), $table->foreign(), etc. Inclui métodos up() e down().
Phinx: Gera uma classe de migração do Phinx com $this->table(), ->addColumn(), ->addIndex(), ->addForeignKey(), etc.
Você pode:
- Copiar para a área de transferência — cole diretamente no seu código-fonte
- Baixar — salva como arquivo
.phpcom um nome gerado - Aplicar — marca o schema atual como a nova linha de base (atualiza o checkpoint), de modo que a próxima migração capture apenas as alterações a partir deste ponto
Após baixar ou copiar a migração, adicione-a ao diretório de migrações do seu projeto e execute-a com o comando de migração do seu framework (por exemplo, php artisan migrate para o Laravel).