Как запустить скрипт data.sql при первом запуске весенней загрузки приложения в новой среде? - PullRequest
0 голосов
/ 29 апреля 2019

Как мы знаем, hibernate.hbm2ddl.auto=update конфигурация может генерировать таблицы базы данных автоматически, когда мы запускаем приложение в новой среде, а hibernate.hbm2ddl.auto=create может запускать некоторые сценарии, такие как файл data.sql, в classpath после генерации таблиц в базе данных.

здесь возникает вопрос, как мы можем запустить скрипт data.sql в конфигурации hibernate.hbm2ddl.auto=update?

или есть какое-то другое решение, когда мы хотим инициировать некоторые данные в базе данных после развертыванияприложение в новой среде?

1 Ответ

0 голосов
/ 29 апреля 2019

data.sql - это механизм Spring Boot, который не имеет ничего общего с Hibernate.

Если вы установите spring.datasource.initialization-mode=always, сценарий будет выполнен:

https://docs.spring.io/spring-boot/docs/current/reference/html/howto-database-initialization.html

Вы можете использовать некоторый код хранимой процедуры для инициализации базы данных в data.sql.

Другим подходом может быть прослушивание ApplicationReadyEvent и затем инициализация базы данных.

@EventListener(ApplicationReadyEvent.class)
public void doSomethingAfterStartup() {
    // Initalize the database
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...