Skip to content

Cum să folosești Flyway cu Gradle

DodaTech Updated 2025-01-15 2 min read

In this tutorial, you'll learn about Cum să folosești Flyway cu Gradle. We cover key concepts, practical examples, and best practices.

Vei învăța cum să configurezi și să rulezi migrări Flyway folosind plugin-ul Gradle, integrând versionarea schemei direct în procesul de build.

Problema

Gestionarea manuală a schemei bazei de date duce la erori de sincronizare între medii, scripturi SQL pierdute și dificultăți în reproducerea stării bazei de date. Flyway automatizează acest proces, dar configurarea corectă cu Gradle necesită pași specifici.

Modul Greșit

// build.gradle — configurare incompletă
plugins {
    id 'java'
    id 'org.flywaydb.flyway' version '10.0.0'
}
// Lipsesc detaliile de conexiune la bază
./gradlew flywayMigrate
# Eroare: flyway.url not set!

Modul Corect

// build.gradle
plugins {
    id 'java'
    id 'org.flywaydb.flyway' version '10.0.0'
}

flyway {
    url = 'jdbc:postgresql://localhost:5432/mydb'
    user = 'dbuser'
    password = 'dbpass'
    locations = ['filesystem:src/main/resources/db/migration']
}

dependencies {
    implementation 'org.postgresql:postgresql:42.7.0'
}
./gradlew flywayMigrate

Output:

Successfully applied 3 migrations (execution time 00:00.234s)

Pas cu Pas

1. Adaugă plugin-ul Flyway

plugins {
    id 'org.flywaydb.flyway' version '10.0.0'
}

2. Configurează conexiunea la bază de date

flyway {
    url = 'jdbc:postgresql://localhost:5432/mydb'
    user = 'dbuser'
    password = 'dbpass'
}

3. Creează scripturile de migrare

src/main/resources/db/migration/
  V1__create_users_table.sql
  V2__add_orders_table.sql
  V3__seed_data.sql

4. Rulează migrarea

./gradlew flywayMigrate
./gradlew flywayInfo    # Vezi starea migrărilor
./gradlew flywayValidate # Verifică integritatea

Sfaturi de Prevenție

  • Stochează parola într-un fișier flyway.properties ignorat de git
  • Rulează flywayValidate în pipeline-ul CI
  • Folosește flyway.url din variabile de mediu pentru medii diferite
  • Nu edita niciodată migrări deja aplicate

Greșeli Comune

  1. Omisiunea dependenței JDBC — fără driverul JDBC în dependencies, Flyway nu se poate conecta
  2. Locations incorecte — căile din locations trebuie să existe; altfel Flyway nu găsește scripturile
  3. Plugin aplicat doar pe subproiect — plugin-ul Flyway trebuie aplicat pe proiectul rădăcină sau pe cel care conține migrările

Întrebări Frecvente

### Cum dezactivez Flyway în development?

Folosește flyway.enabled = false în build.gradle sau setează FLYWAY_ENABLED=false ca variabilă de mediu.

Pot folosi Flyway cu Gradle Kotlin DSL?

Da — sintaxa este similară: flyway { url.set("jdbc:...") } în build.gradle.kts.

Cum specific mai multe locații de migrare?

Folosește locations = ['filesystem:db/migration', 'classpath:db/extra'] — Flyway le procesează în ordine.

Construit de dezvoltătorii Doda Browser, DodaZIP și Durga Antivirus Pro. Instrumentele DodaTech se integrează perfect cu Flyway pentru productivitate și securitate sporite.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro