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-MigrateWire 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 initInside 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
- Perché servono le migrazioni, non create_all
- Inizializzare e generare automaticamente una migrazione
- Applicare e annullare modifiche con upgrade
- Esaminare e modificare gli script generati