#java #spring-boot #h2 #in-memory-database
#java #spring-boot #h2 #в памяти-база данных
Вопрос:
Это моя встроенная база данных:
public void init() {
EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();
db = builder
.setType(EmbeddedDatabaseType.H2)
.addScript("h2/create.sql")
.addScript("h2/insert.sql")
.build();
}
Когда я запускаю тесты JUnit, я не вижу в веб-консоли базу данных, которая была создана во время инициализации контекста приложения.
@Before
public void initTest() throws SQLException {
Server webServer = Server.createWebServer("-web", "-webAllowOthers", "-webPort", "8082");
webServer.start();
}
Что не так?
Комментарии:
1. Вы пробовали это? spring.h2.console.enabled=true
Ответ №1:
Пожалуйста, обратитесь: https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-sql.html#boot-features-sql-h2-console
Возможно, вам захочется использовать следующие свойства:
spring.h2.console.enabled=true
spring.h2.console.path=/path/to/console
Или запустите сервер программно:
@Bean
public ServletRegistrationBean h2servletRegistration() {
ServletRegistrationBean registration = new ServletRegistrationBean(new WebServlet());
registration.addUrlMappings("/console/*");
registration.addInitParameter("webAllowOthers", "true");
return registration;
}