Spring z bazą danych - podejście do developerki

0

Cześć,

Jakie, wg Waszego doświadczenia, podejście najlepiej sprawdza się przy budowaniu aplikacji w Springu (Spring Data JPA, hibernate), które docelowo na produkcji mają korzystać z bazy danych takich jak Oracle, MSSQL, MySQL itp.

  1. W ogóle o tym nie myślę. Piszę encje, schematy same się generują. Lokalnie np. H2, potem deployment na produkcję.
  2. W ogóle o tym nie myślę. Piszę encje, schematy same się generują. Od razu zaczynam z bazą taką jak na produkcji.
  3. Profile. Dodaję profil np. H2 do developerki oraz drugi produkcyjny. Klepię ręcznie pliki schema.sql i data.sql.
  4. Zaczynam od docelowej bazy danych. Najpierw tworzę schemat tabel, potem generuję w IDE encje na ich podstawie.
  5. Inne, jakie?
0

W mniejszych projektach uzywam podejścia pierwszego (schema generowana przez JPA), w większych tylko raz miałem luksus żeby zdecydować się co zrobić i wtedy projektowaliśmy schemę w pierwszej kolejności. Wyszło na zdrowie.

0

Jak masz takie dylematy to zwykle jest to dobry wskaźnik, że żadnej bazy nie potrzebujesz. Przynajmniej na razie. #DROPDB

0

Wydaje mi się że podejście nr. 4 jest bardziej życiowe i częściej zdarza się generować encje na podstawie istniejących baz niż masz ten komfort generowania bazy z encji. Poza tym podejście nr. 4 redukuje prawdopodobieństwo że gdzieś w encji coś zmienisz i automatem walniesz dropa na produkcji.

0

Jeśli piszesz "front" do złożonej bazy to jasne że dopinasz się do bazy.
Jeśli piszesz aplikacje i potrzebujesz cośtam zapisywać w trwały sposób, to opcja 1) przy czym zalecam dobierać technologię do problemów. Może potrzebne ci tylko jakies key-value? Może nawet producyjnie starczy ci HSQL bo ładujesz tylko konfiguracje? Poczytaj sobie trochę o jakimś polyglot persistence.

0

Dzięki bardzo za odpowiedzi.

Włączyłem sobie w springu podgląd sqla + zachowanie H2 jak Oracle (taka będzie docelowa), więc robię sposobem pierwszym, z tym że pilnuję jakie typy kolumn mi generuje. Jednak tak jak piszecie, bardziej życiowe jest z bazy na encje i warto nabrać wprawy tą metodą.

Dylematy mam, bo jestem newbie w springu, a widząc kilka podejść wolę wysłuchać doświadczeń kolegów, zanim przekonam się na własnej skórze, że znowu wybrałem najgorsze :D

Co do #DROPDB to obejrzałem jeden wykład, robi wrażenie, ale jak spojrzałem na kod to.. jeszcze nie teraz, muszę dorosnąć.

1 użytkowników online, w tym zalogowanych: 0, gości: 1