2016-09-01 19 views
9

Pracuję nad aplikacją wiosennego rozruchu. W tej chwili niektóre z moich konfiguracji są zakodowane na twardo (np. Właściwości Hystrix).Wiosenny rozruch. Uruchamiaj skrypty SQL i pobieraj dane podczas uruchamiania aplikacji.

Chciałbym uzyskać te konfiguracje w czasie uruchamiania aplikacji lub zaraz po tym.

Czy można to zrobić za pomocą sprężyny rozruchowej? Mam na myśli uruchomienie skryptu SQL podczas uruchamiania i pobierania danych.

W jaki sposób właściwości/configy powinny być pobierane i przechowywane w mojej aplikacji?

Używam MyBatis i Oracle DB.

+0

Umieść je w application.yml. Zależy od profilu. – duffymo

+0

Miałem taki pomysł, ale w tej chwili chciałbym uzyskać wartości z DB :) – Laurynas

Odpowiedz

9

Domyślnie Spring-Boot ładuje data.sql i/lub data-${platform}.sql.

Należy jednak pamiętać, że skrypt byłby ładowany przy każdym starcie, więc uważam, że ma sens (przynajmniej dla produkcji), aby po prostu mieć wartości już obecne w bazie danych, a nie ponownie wstawione w każdy start. Osobiście używałam tylko inicjalizacji bazy danych dla celów testowych/deweloperskich podczas korzystania z bazy danych pamięci. Mimo to jest to funkcja dostarczana przez Spring-Boot.

źródło: spring-boot-howto-database-initialization:

Wiosna JDBC posiada funkcję DataSource initializer. Spring Boot domyślnie uruchamia i ładuje SQL ze standardowych lokalizacji schema.sql i data.sql (w katalogu głównym ścieżki klasy). Ponadto Spring Boot będzie ładować schemat - $ {platform} .sql i dane - $ {platform} .sql (jeśli obecne są ).

src/main/resources/danych oracle.sql:

insert into... 
insert into... 
  • Można zdefiniować platformę z: spring.datasource.platform=oracle.
  • Możesz zmienić nazwę skryptu sql, który ma zostać załadowany: spring.datasource.data=myscript.sql.
  • Wraz z danymi.sql, Spring-boot ładuje również schema.sql (przed data.sql).
  • Można również mieć „aktualizację lub wstawić” logiki w data.sql: oracle sql: update if exists else insert
+0

Nie muszę wstawiać danych. Potrzebuję danych z DB :) – Laurynas

+0

Rozumiem! Spójrz na to (nie jest to specyficzne dla wiosennego buta, ale może być dobrym rozwiązaniem dla ciebie): http://pawel-malczyk.pl/wordpress/?p=540 – alexbt

+0

btw, możesz zmienić tytuł " Wiosenne uruchamianie Uruchom skrypty SQL i przechowuj dane podczas uruchamiania aplikacji "i opisu" Mam na myśli uruchomienie skryptu SQL przy uruchamianiu ... " – alexbt