Initiera och autogenerera en migration
Kör flask db init och migrate.
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-MigrateKoppla 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 initI 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. 🎉
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
- Varför du behöver migrationer, inte create_all
- Initiera och autogenerera en migration
- Tillämpa och rulla tillbaka med upgrade
- Granska och redigera genererade skript