0Pricing
Flask Academy · Aula

Por que você precisa de migrações, não de create_all

Entenda o risco de editar esquemas ativos manualmente.

Por que você precisa de migrações, não de create_all é uma aula grátis de Flask Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Flask Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Flask Academy inclui 4 aulas no total.

Os esquemas sempre mudam

Aplicativos reais evoluem, então suas tabelas também precisam mudar. Você adicionará colunas, renomeará campos e removerá campos antigos conforme os recursos crescerem. 🔄

create_all só cria uma vez

Lembre-se da limitação vista anteriormente: create_all só cria tabelas ausentes. Ele nunca altera uma tabela que já existe.

db.create_all()

A solução ruim e tentadora

Uma solução tentadora é remover e recriar. Ela funciona em uma demonstração, mas exclui todas as linhas, algo impensável em produção.

db.drop_all()
db.create_all()

Editar manualmente é arriscado

Executar ALTER TABLE bruto manualmente em um banco de dados ativo é frágil. Um erro de digitação ou uma etapa esquecida pode corromper os dados sem uma forma simples de desfazer.

O que é uma migração

Uma migração é um pequeno script que leva seu esquema de uma versão à seguinte em etapas seguras e repetíveis.

Versionadas e ordenadas

Cada migração tem um identificador de versão e aponta para a migração anterior. Juntas, elas formam um histórico ordenado de cada alteração do esquema.

Para frente e para trás

Uma migração define dois caminhos: upgrade aplica a alteração, e downgrade a desfaz caso algo dê errado.

def upgrade():
    ...

def downgrade():
    ...

Flask-Migrate envolve o Alembic

O Flask-Migrate conecta seu aplicativo ao Alembic, a ferramenta que detecta alterações no esquema e escreve os scripts de migração para você.

Ele acompanha a versão atual

As migrações registram a versão atual do esquema em uma tabela chamada alembic_version, para que a ferramenta saiba sempre em que ponto você está.

Seguro em todos os ambientes

Os mesmos scripts de migração são executados no seu computador, na integração contínua e em produção, para que todos os ambientes terminem com um esquema idêntico.

Quando mudar

Use create_all somente no primeiro protótipo. Assim que seu modelo começar a mudar, passe definitivamente para as migrações.

Verificação rápida

Sua tabela existe e você acabou de adicionar uma coluna. Por que não confiar em create_all?

Recapitulação

Você viu por que create_all não consegue evoluir um esquema e como as migrações trazem alterações seguras, versionadas e reversíveis. 🎉

Perguntas Frequentes

A aula “Por que você precisa de migrações, não de create_all” é grátis?

Sim — o texto completo de “Por que você precisa de migrações, não de create_all” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Flask Academy, atualize para CoddyKit PRO. O curso de Flask Academy inclui 4 aulas no total.

O que vou aprender em “Por que você precisa de migrações, não de create_all”?

Entenda o risco de editar esquemas ativos manualmente. Você pratica Flask Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Flask Academy?

Nenhuma experiência prévia é necessária. Flask Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Por que você precisa de migrações, não de create_all”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Flask Academy?

Sim. Cada aula de Flask Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Por que você precisa de migrações, não de create_all
  2. Inicialize e gere automaticamente uma migração
  3. Aplique e reverta com upgrade
  4. Revise e edite scripts gerados
← Voltar para Flask Academy