Estate atento ya que en este escrito vas a encontrar la solución que buscas.
Solución:
Consulta los documentos aquí.
En una aplicación basada en JPA, puede elegir dejar que Hibernate cree el esquema o usar schema.sql, pero no puede hacer ambas cosas. Asegúrese de deshabilitar spring.jpa.hibernate.ddl-auto si usa schema.sql.
Tu tienes spring.jpa.hibernate.ddl-auto=create-drop
es por eso schema.sql
no se ejecuta. Parece que así es como funciona Spring Boot.
Editar
Creo que el problema (no es realmente un problema) es que su aplicación apunta a una instancia de mysql.
Vea las propiedades actuales de Spring Boot:
spring.datasource.initialization-mode=embedded # Initialize the datasource with available DDL and DML scripts.
El valor predeterminado es embedded
– por ejemplo, inicialice solo si está ejecutando una base de datos integrada, como H2.
También vea la respuesta de Stephan aquí. Él dijo:
Agregar spring.datasource.initialization-mode=always a su proyecto es suficiente.
Así que intenta configurar:
spring.datasource.initialization-mode=always
No incrustado (por ejemplo, MySQL)
Si carga una base de datos que es no incrustadoen Spring Boot 2 necesitas agregar:
spring.datasource.initialization-mode=always
Consulte la Guía de migración:
Inicialización de la base de datos
La inicialización básica de DataSource ahora solo está habilitada para fuentes de datos incrustadas y se desactivará tan pronto como esté utilizando una base de datos de producción. El nuevo
spring.datasource.initialization-mode
(reemplazando
spring.datasource.initialize
) ofrece más control.
Embebido (por ejemplo, h2)
Una vez tuve un problema similar, aunque era un h2 (así que era una base de datos incrustada), mi configuración h2 fue activada por un my-test
perfil.
Mi clase de prueba fue como:
@RunWith(SpringRunner.class)
@SpringBootTest // does not work alone
@ActiveProfiles("my-test")
public class MyEntityRepositoryTest {
El problema es @SpringBootTest
solo no inicializó la base de datos de prueba. Tuve que usar @DataJpaTest
o @SpringBootTest
+@AutoConfigureTestDatabase
. Ejemplos
@RunWith(SpringRunner.class)
@DataJpaTest // works
@ActiveProfiles("sep-test")
public class MyEntityRepositoryTest {
o
@RunWith(SpringRunner.class)
@SpringBootTest // these two
@AutoConfigureTestDatabase // together work
@ActiveProfiles("sep-test")
public class MyEntityRepositoryTest {
Funciona bien para mí, puedes probarlo. Establezca el tipo de fuente de datos como desee en lugar de HikariCP.
spring.datasource.initialization-mode=always
spring.datasource.type=com.mysql.jdbc.jdbc2.optional.MysqlDataSource
spring.jpa.hibernate.ddl-auto=none
No se te olvide recomendar este tutorial si te ayudó.