Praca zespołowa na wspólnym repozytorium i zarządzanie wersjami bazy danych.

0

Jestem początkującym programistą.
Dołączyłem ostatnio do zespołu kilkuosobowego który realizuje różne projekty.

Zespół oczywiście korzysta z systemu wersji (gitLab). W projektach często zmieniają się bazy danych (dochodzą nowe tabele, zmianom ulegają poprzednie etc).
Większość pracuje na lokalnych bazach danych z uwagi na dużą ilość danych.
Często zdarza się, że zaciągając aktualne zmiany z repozytorium nie wiem, czy baza uległa zmianie i w jakim stopniu. Oczywiście wystarczy postawić bazę na nowo bo kodzie mamy inicjalizację. Jeśli coś doszło to postawienie bazy na nowo załatwi sprawę. Często takie rzeczy wychodzą po prostu podczas pracy na aktualnej bazie w czasie np. innych procesów.

W jaki sposób można to zoptymalizować?
Jak zarządzać zmianami na bazie danych?
Macie sprawdzone rozwiązania?

Z góry bardzo dziękuję za odpowiedzi.

1

Np. takie coś jak Flyway do zarządzania migracjami w bazie.

0

@NoZi
Dzięki - wstępnie zapoznałem się z narzędziem i wygląda ciekawie. W pierwszej kolejności nasuwają mi się pytania. Bardzo proszę o komentarz.

  1. Do tej pory zespół tworzył bazy danych w oparciu o adnotację np. @Entity i tabele były generowane automatycznie.
    W tej sytuacji należy zmienić podejście i zacząć pisać skrypty sql do każdej dodawanej tabeli - czy dobrze to rozumie ?
  2. Czy tworząc nową encję do bazy np. z 10 atrybutami - tworze po prostu skrypt sql? Co jeśli encja ma relacje ? Do tej pory relacje były opisane adnotacjami. Czy wszystko w tej sytuacji powinienem opisać w skrypcie sql ?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.