Databasemigreringer med Flyway
Håndter skjem aendringer trygt og gjentakbart på tvers av miljøer ved hjelp av versjonerte Flyway-migreringer i Spring Boot.
Databasemigreringer med Flyway er en gratis leksjon i Komplett guide til Spring Boot 4 på CoddyKit. Dette er leksjon 4 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Komplett guide til Spring Boot 4, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Komplett guide til Spring Boot 4 inneholder totalt 4 leksjoner.
Problemet med manuelle skjem endringer
Manuell redigering av databasen er feilutsatt og vanskelig å gjenskape på tvers av utvikling, testing og produksjon. Migreringer gjør skjem endringer om til versjonerte, repeterbare skript.
Hva er Flyway?
Flyway er et migreringsverktøy som kjører SQL-skript i riktig rekkefølge og registrerer hvilke som er kjørt, i en historikktabell, slik at hvert skript kjøres nøyaktig én gang.
Legge til Flyway
Spring Boot oppdager automatisk Flyway på classpathen og kjører migreringer ved oppstart. Det er bare å legge til avhengigheten.
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
</dependency>Navngiving av migreringsfiler
Versjonerte skript følger mønsteret V1__description.sql. Versjonsnummeret etter V bestemmer kjørerekkefølgen.
- V1__create_users.sql
- V2__add_email_column.sql
Hvor migreringer ligger
Som standard leter Flyway i src/main/resources/db/migration. Plasser SQL-filene der, så blir de automatisk funnet og kjørt.
Den første migreringen
Det første skriptet oppretter vanligvis en tabell. Når det er kjørt, registrerer Flyway det og kjører det aldri igjen.
CREATE TABLE users (
id BIGINT PRIMARY KEY,
name VARCHAR(100) NOT NULL
);Tabellen for skjemahistorikk
Flyway vedlikeholder en flyway_schema_history-tabell som registrerer hver anvendte versjon, kontrollsummen og tidsstempelet. Slik vet Flyway hva som gjenstår.
Rediger aldri migreringer som er kjørt
Når en migrering først er kjørt et sted, skal den behandles som uforanderlig. Hvis du redigerer den, endres kontrollsummen, og Flyway mislykkes i valideringen. Legg alltid til en ny migrering i stedet.
ALTER TABLE users ADD COLUMN email VARCHAR(200);Repeterbare migreringer
Skript med prefikset R__ i stedet for et versjonsnummer kjøres hver gang innholdet endres. De egner seg godt for visninger og lagrede prosedyrer.
Flyway og JPA sammen
Deaktiver Hibernate sin automatiske skjemagenerering, og la Flyway ha ansvaret for skjemaet. Da får du én samlet og pålitelig kilde til sannheten om strukturen.
spring.jpa.hibernate.ddl-auto=validateFordeler i CI/CD
Fordi migreringer kjøres automatisk og deterministisk, konvergerer hvert miljø mot samme skjema. Det gjør utrullinger forutsigbare og tilbakeføringer enklere å vurdere.
Hurtigsjekk
Test forståelsen din av Flyway-migreringer.
Oppsummering
Du har lært å versjonere skjemendringer med Flyway: navnekonvensjoner, historikktabellen, at kjørte skript er uforanderlige, repeterbare migreringer og hvordan Flyway kan brukes sammen med JPA-validering for pålitelige utrullinger.
Lær deg Java med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 21
- Leksjoner
- 84
Ofte stilte spørsmål
Er leksjonen «Databasemigreringer med Flyway» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Komplett guide til Spring Boot 4, inkludert «Databasemigreringer med Flyway», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Komplett guide til Spring Boot 4 inneholder totalt 4 leksjoner.
Hva lærer jeg i «Databasemigreringer med Flyway»?
Håndter skjem aendringer trygt og gjentakbart på tvers av miljøer ved hjelp av versjonerte Flyway-migreringer i Spring Boot. Du øver på Komplett guide til Spring Boot 4 med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Komplett guide til Spring Boot 4?
Ingen tidligere erfaring er nødvendig. Komplett guide til Spring Boot 4 på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.
Hvor lang tid tar leksjonen «Databasemigreringer med Flyway»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Komplett guide til Spring Boot 4-leksjonen?
Ja. Alle Komplett guide til Spring Boot 4-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Egendefinerte Spring Data-repositorier
- Integrasjon av NoSQL-databaser
- Bufring med Spring Cache
- Databasemigreringer med Flyway