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:
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 🙂 .