Flyway – migracja

W jednym z poprzednich artykułów pisałam na temat zastosowania baz danych w aplikacjach. Jeżeli jeszcze go nie czytałaś/nie czytałeś to zapraszam Cię do tego artykułu tutaj.  W dzisiejszym artykule rozwinę wątek na temat Flyway – migracja z zastosowaniem bazy danych Oracle.

1. Flyway – co to takiego?

Flyway to system kontroli wersji baz danych. W praktyce oznacza to że zmiany w schemacie bazy danych zapisujemy z plikach migracyjnych. Aby można było go skonfigurować z projektem należy dodać zależność z repozytorium Maven’a w pliku pom.xml:

<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
<version>5.0.3</version>
</dependency>

2. Plik migracyjny

System kontroli wersji – Flyway nie daje nam zbyt dużej swobody co do konfiguracji wspomnianego pliku. W strukturze projektu mieści się on w: resources -> db -> migration. Nazwa pliku powinna zaczynać się od dużej litery”V” z kolejnym numerem pliku np: 0001. W następnej kolejności mam dwa podkreślniki „__”  i właściwą nazwę pliku np.: create_table. Plik jest zakończony rozszerzeniem”.sql”. Całość więc może wyglądać następująco: V0001__create_table_car.sql lub V0001__DEVWORDS_create_table_car.sql

Przykład poniżej:

flyway-migracja. Plik migracyjny sql w strukturze projektu
Plik migracyjny V0001__DEVWORDS_create_table_car.sql w strukturze projektu.

Ponieważ skrypt migracyjny flyway pisany jest w sql-u – oznacza to, że podczas migracji z jednego dialektu sql na inny, konieczna będzie aktualizacja skryptów.

3. Flyway – migracja w InteliJ IDEA

W czasie pracy czasami potrzebujemy postawić schemat bazy danych z danymi na nowo. W tym celu możemy już wykorzystać Flyway’a. W InteliJ IDEA łatwo możemy skonfigurować taką komendę, która wyczyści bazę danych i postawi ją na nowo. Wystarczy wpisać instrukcję w InteliJ IDEA, w „Edit Configuration” jak poniżej:

flyway:clean flyway:migrate -Dflyway.url=jdbc:oracle:thin:@localhost:1521/XEPDB1 -Dflyway.user=user_name -Dflyway.password=password -f pom.xml

4.Podsumowanie

Flyway jest jednym z narzędzi stosowanych do migracji z bazami danych. Innym tego typu technologią jest Liquibase o którym napiszę w jednym z kolejnych artykułów. Jeżeli chcesz przeczytać więcej na temat Flyway polecam Ci artykuł:
Flyway – system kontroli wersji dla baz danych.
A jakie Ty czytelniku/czytelniczko masz doświadczenie z flyway? Podziel się w komentarzu, chętnie przeczytam 🙂 .

 
 

 

Leave a Comment

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *