Open leandromoraesrj opened 2 years ago
Acessar a documentação para mais detalhes: https://docs.spring.io/spring-boot/docs/current/reference/html/howto.html#howto.data-initialization
spring.jpa.generate-ddl será ignorado se você tiver uma configuração para spring.jpa.hibernate.ddl-auto . Isso ocorre porque a segunda configuração é mais refinada e, portanto, substitui a primeira.
spring.jpa.hibernate.ddl-auto=none
spring.jpa.hibernate.ddl-auto=validate
A inicialização do banco de dados funcionará apenas para bancos de dados incorporados (H2, HSQLDB, ...). Para usá-lo para outros bancos de dados:
spring.datasource.initialization-mode=always
Se estiver usando vários fornecedores de banco de dados, poderá nomear seu arquivo data-h2.sql ou data-mysql.sql e configurar a spring.datasource.platformpropriedade:
spring.sql.init.platform=h2
O Spring Boot pode criar automaticamente o esquema (scripts DDL) com base nos arquivos: schema.sql e data.sql, respectivamente (nesse caso, não é exibido no console o DDL).
É possível adicionar uma spring.datasource.data para application.properties executar uma lista de arquivos sql
spring.datasource.data=classpath:accounts.sql, classpath:books.sql
Para que a inicialização baseada em script seja executado após a criação do esquema pelo Hibernate
spring.jpa.defer-datasource-initialization=true
Para banco de dados na memória, você deve usar DB_CLOSE_ON_EXIT=FALSE:
spring.datasource.url=jdbc:h2:mem:testdb;DB_CLOSE_ON_EXIT=FALSE
Para criar um schema ao inicializar o H2:
spring.datasource.url=jdbc:h2:mem:testdb;DB_CLOSE_ON_EXIT=FALSE;DB_CLOSE_DELAY=-1;INIT=CREATE SCHEMA IF NOT EXISTS SCAD
Para definir um default schema:
spring.jpa.properties.hibernate.default_schema=scad