Flask Academy · Lektion

Initialisér og autogenerér en migration

Kør flask db init og migrate.

Lektion 2 af 413 trin

Initialisér og autogenerér en migration er en gratis Flask Academy-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Flask Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Flask Academy-kurset indeholder 4 lektioner i alt.

Installér Flask-Migrate

Føj først pakken til dit projekt. Flask-Migrate medbringer Alembic og en række praktiske flask db-kommandoer. 📦

pip install Flask-Migrate

Forbind den med appen

Opret et Migrate-objekt, og bind det til din app og database. Den ene linje aktiverer hele kommandogruppen flask db.

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

Initialiser projektet

Kør flask db init én gang pr. projekt. Kommandoen opretter en migrationsmappe, som kommer til at indeholde alle de versionsscripts, du genererer.

flask db init

Inde i mappen

Den nye mappe indeholder en alembic.ini, en env.py og en tom versionsmappe, hvor fremtidige migrationsfiler kommer til at ligge.

Generér en migration automatisk

flask db migrate sammenligner dine modeller med det aktuelle skema og skriver et script, der præcist beskriver, hvad der er ændret.

flask db migrate -m "create users table"

Meddelelsen efter -m

Angiv altid en tydelig meddelelse med -m. Den navngiver migrationen, så dit team senere kan læse historikken som en ændringslog.

En ny versionsfil

Hver migrate-kommando lægger en ny fil i versions. Filen navngives med et tilfældigt revisions-id efterfulgt af en forkortet version af din meddelelse.

Modeller skal importeres

Automatisk generering kan kun se modeller, der faktisk er imported, når kommandoen køres. Manglende importer betyder manglende tabeller i scriptet.

Den registrerer forskelle

Alembic sammenligner modellernes metadata med databasen. Den registrerer automatisk nye tabeller, tilføjede kolonner og mange ændrede begrænsninger.

Migrate anvender ikke ændringer

Vigtigt: migrate skriver kun scriptet. Din database er stadig uberørt, indtil du faktisk anvender det i næste lektion.

Commit migrationen

Behandl migrationsfiler som kode, og commit dem til git. Dine teammedlemmer kan afspille præcis de samme ændringer ud fra versionshistorikken.

Hurtigt tjek

Du kørte flask db migrate og så en ny fil blive oprettet. Blev dine tabeller ændret?

Opsummering

Du forbandt Migrate, kørte flask db init og genererede automatisk et script med flask db migrate, som er klar til at blive anvendt. 🎉

Gratis at komme i gang

Lær Python med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
30
Lektioner
120

Ofte stillede spørgsmål

Er lektionen “Initialisér og autogenerér en migration” gratis?

Ja — hele teksten til “Initialisér og autogenerér en migration” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Flask Academy-kurset, skal du opgradere til CoddyKit PRO. Flask Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Initialisér og autogenerér en migration”?

Kør flask db init og migrate. Du øver dig i Flask Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Flask Academy?

Der kræves ingen tidligere erfaring. Flask Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.

Hvor lang tid tager lektionen “Initialisér og autogenerér en migration”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Flask Academy-lektion?

Ja. Alle Flask Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Hvorfor De behøver migrations, ikke create_all
  2. Initialisér og autogenerér en migration
  3. Anvend og rul tilbage med upgrade
  4. Gennemgå og redigér genererede scripts
← Tilbage til Flask Academy