Wpis z mikrobloga

#programowanie #java #spring #devops

Dwa pytania:

1. Jak ustawiać konfigurację aplikacji z zewnątrz na serwerze aplikacyjnym?

Chodzi o to, że standardowo aplikacje w Spring Boot mają wbudowany serwer (Tomcat, Jetty itp). Ustawiam w projekcie konfigurację w application.properties. Ale przy wdrożeniu takiej aplikacji można niektóre parametry nadpisać (np. hasło do bazy danych) poprzez umieszczenie na zewnątrz kolejnego pliku application.propeties. Jeśli jednak nie chcę używać wbudowanego serwera, a jakiś zewnętrzny (Tomcat, WebSphere, JBoss), to zamiast JAR buduję WAR i to deployuję na serwer. Jak w tym wypadku nadpisać konfigurację w application.propeties?

2. Jak zarządzacie schematem bazy danych na produkcji przy używaniu Hibernate?

Chodzi o podejście code first (a nie database first) czyli tworzę klasy i na podstawie tego Hibernate tworzy mi tabele w bazie. Co jednak gdy już wypuściłem aplikację na produkcję, w bazie są ważne dane, a ja chcę wypuścić nową wersję aplikacji (pozmieniać klasy itp)? Ustawić spring.jpa.hibernate.ddl-auto=update i mieć nadzieję, że się nic nie s-------i na produkcji? A może być też taki przypadek, że tak zaoram klasy, że Hibernate mi nie ogarnie jakie update'y ma zrobić. Pisać ręcznie SQL-ki, którymi przerobię bazę produkcyjną na taką jaka ma być docelowo (przed startem aplikacji)?

1. application.properties czy coś innego? 2. ddl-auto=update czy coś innego?

  • 1. app.props 2. ddl-auto=update 0% (0)
  • 1. app.props 2. inne 60.0% (3)
  • 1. inne 2. ddl-auto=update 0% (0)
  • 1. inne 2. inne 40.0% (2)

Oddanych głosów: 5

  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

2. ddl-auto=validate i do migracji flyway albo liquibase


@SuppressWarnings: ech, tego się bałem. Dzięki.

W innych projektach mamy Liquibase, ale tam jest podejście database first. Miałem nadzieję, że po tylu latach już jest jakieś fajne rozwiązanie tego w projektach code first. Czyli Hibernate nadal robi masę roboty, której nikt nie potrzebuje?
  • Odpowiedz
@SuppressWarnings: No tylko, że potem po poprawce nie odpalał się od trzeciego tylko chciał jechać od pierwszego po czym wywalał błąd, że już dodał ten skrypt ¯\_(ツ)_/¯

Pamiętam, że tam się jakoś grupowało te skrypt. Może chodzi o taką grupę. W każdym razie LB mi nie podszedł i więcej z niego nie korzystałem.
  • Odpowiedz