0Pricing
Flask Academy · Lezione

Inizializzare e generare automaticamente una migrazione

Esegua flask db init e migrate.

Inizializzare e generare automaticamente una migrazione è una lezione Flask Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Flask Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Flask Academy include 4 lezioni in totale.

Parti di questa lezione non sono ancora state tradotte e vengono mostrate in inglese.

Install Flask-Migrate

First add the package to your project. Flask-Migrate brings Alembic and a set of handy flask db commands. 📦

pip install Flask-Migrate

Wire It to the App

Create a Migrate object and bind it to your app and db. That single line activates the whole flask db command group.

from flask_migrate import Migrate
migrate = Migrate(app, db)

Initialize the Repo

Run flask db init once per project. It scaffolds a migrations folder that will hold every version script you generate.

flask db init

Inside the Folder

The new folder holds an alembic.ini, an env.py, and an empty versions directory where future migration files will live.

Autogenerate a Migration

flask db migrate compares your models to the live schema and writes a script describing exactly what changed.

flask db migrate -m "create users table"

The -m Message

Always pass a clear -m message. It labels the migration so your team can read the history like a changelog later.

A New Versions File

Each migrate command drops a fresh file in versions, named with a random revision id plus your message slug.

Models Must Be Imported

Autogenerate only sees models that are actually imported when the command runs. Missing imports mean missing tables in the script.

It Detects Differences

Alembic diffs the model metadata against the database. It catches new tables, added columns, and many changed constraints automatically.

Migrate Does Not Apply

Key point: migrate only writes the script. Your database is still untouched until you actually apply it in the next lesson.

Commit the Migration

Treat migration files as code and commit them to git. Teammates replay the exact same changes from your version history.

Quick Check

You ran flask db migrate and saw a new file appear. Did your tables change?

Recap

You wired up Migrate, ran flask db init, and autogenerated a script with flask db migrate ready to apply. 🎉

Domande Frequenti

La lezione «Inizializzare e generare automaticamente una migrazione» è gratuita?

Sì — il testo completo di «Inizializzare e generare automaticamente una migrazione» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Flask Academy, passa a CoddyKit PRO. Il corso Flask Academy include 4 lezioni in totale.

Cosa imparerò in «Inizializzare e generare automaticamente una migrazione»?

Esegua flask db init e migrate. Eserciti Flask Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Flask Academy?

Non è richiesta alcuna esperienza precedente. Flask Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Inizializzare e generare automaticamente una migrazione»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Flask Academy?

Sì. Ogni lezione Flask Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Perché servono le migrazioni, non create_all
  2. Inizializzare e generare automaticamente una migrazione
  3. Applicare e annullare modifiche con upgrade
  4. Esaminare e modificare gli script generati
← Torna a Flask Academy