Spring Boot - Executando schema-${platform}.sql sempre
27/04/2017 13:23
0
Galera,

Quando executo testes no Spring Boot, ambos os esquemas
schema-${platform}.sql
e
data-${platform}.sql
estão estão sendo executados sempre.

????src
? ????main
? ? ????resources
? ? ????locale
? ? ????static
? ? ?data-mysql.sql
? ? ?schema-mysql.sql //Schema 1
? ????test
? ????resources
?  ?data-mysql.sql
?  ?schema-mysql.sql //Schema 2


No meu cenário eu tenho que remover o schema.sql do pacote de testes e definir a propriedade datasource
datasource.jpa.hibernate.ddl-auto = update
. O problema é que quando eu removo o 'Schema 2' da pasta de teste 'Schema 1' continua funcionando.

Caso eu não coloque o 'Schema 2' no pacote de teste, existe alguma maneira do Spring não executar o 'Schema 1'?

Inclusive fiz a mesma pergunta do StackOverflow ( com o meu inglês sofrível! ) mas ainda não tive resposta.
Tags: springboot, test


1
Olá Pablo,

Você está colocando arquivos .sql na pasta de resources, o Spring Boot por convenção vai rodar sempre.
Você pode usar a propriedade
spring.batch.initializer.enabled=false
para desligar a carga automática.

https://docs.spring.io/spring-boot/docs/current/reference/html/howto-database-initialization.html
30/04/2017 11:01


0
A questão é que eu não quero desligar sempre. Eu queria que não rodasse quando eu tivesse rodando testes. 
02/05/2017 08:00


0
Pablo, você está pedindo justamente o contrário do que normalmente acontece, de rodar a carga principal e pular a dos testes.

Para fazer o que você quer, é melhor usar uma base externa.
03/05/2017 07:34



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails, Spring e mais com a Formação itexto!

Livro de Spring


/dev/All

Os melhores blogs de TI
em um único lugar!

 
Spring Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.