Flask Academy · Lektion

Initiera och autogenerera en migration

Kör flask db init och migrate.

Lektion 2 av 413 steg

Initiera och autogenerera en migration är en gratis lektion i Flask Academy på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Flask Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Flask Academy innehåller totalt 4 lektioner.

Installera Flask-Migrate

Lägg först till paketet i projektet. Flask-Migrate ger er Alembic och en uppsättning praktiska flask db-kommandon. 📦

pip install Flask-Migrate

Koppla den till appen

Skapa ett Migrate-objekt och koppla det till appen och databasen. Den enda raden aktiverar hela kommandogruppen flask db.

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

Initiera repot

Kör flask db init en gång per projekt. Då skapas en migrationsmapp som innehåller alla versionsskript du genererar.

flask db init

I mappen

Den nya mappen innehåller alembic.ini, env.py och en tom versionskatalog där framtida migrationsfiler placeras.

Skapa en migration automatiskt

flask db migrate jämför dina modeller med det aktuella schemat och skriver ett skript som exakt beskriver vad som har ändrats.

flask db migrate -m "create users table"

Meddelandet -m

Ange alltid ett tydligt -m-meddelande. Det namnger migrationen så att teamet senare kan läsa historiken som en ändringslogg.

En ny versionsfil

Varje migrate-kommando skapar en ny fil i versions. Filen namnges med ett slumpmässigt revisions-id samt en slug baserad på ditt meddelande.

Modeller måste importeras

Autogenerate ser bara modeller som faktiskt är imported när kommandot körs. Saknade importer innebär att tabeller saknas i skriptet.

Det upptäcker skillnader

Alembic jämför modellmetadata med databasen. Det upptäcker automatiskt nya tabeller, tillagda kolumner och många ändrade constraints.

Migrate tillämpar inte ändringar

Viktigt: migrate writes bara skriptet. Databasen förblir orörd tills du faktiskt tillämpar det i nästa lektion.

Checka in migrationen

Behandla migrationsfiler som kod och commit dem till git. Teammedlemmarna kan återskapa exakt samma ändringar från versionshistoriken.

Snabb kontroll

Du körde flask db migrate och såg att en ny fil skapades. Ändrades dina tabeller?

Sammanfattning

Du kopplade in Migrate, körde flask db init och skapade automatiskt ett skript med flask db migrate, redo att tillämpas. 🎉

Gratis att börja

Lär dig Python med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
30
Lektioner
120

Vanliga frågor

Är lektionen ”Initiera och autogenerera en migration” gratis?

Ja – hela texten till ”Initiera och autogenerera en migration” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Flask Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Flask Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Initiera och autogenerera en migration”?

Kör flask db init och migrate. Ni övar på Flask Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Flask Academy?

Du behöver inga förkunskaper. Utbildningen i Flask Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”Initiera och autogenerera en migration”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Flask Academy-lektionen?

Ja. Varje Flask Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Varför du behöver migrationer, inte create_all
  2. Initiera och autogenerera en migration
  3. Tillämpa och rulla tillbaka med upgrade
  4. Granska och redigera genererade skript
← Tillbaka till Flask Academy