Solucionado (ver solução)
Solucionado
(ver solução)
8
respostas

Gerar o banco automaticamente

Partindo do pressuposto que não tenho o projeto antigo para aproveitar o banco de dados, onde configuro no spring para que no momento do start do projeto, o spring crie ou atualize o banco de dados pra mim baseado nas minhas entidades?

8 respostas

No application.properties você adiciona a seguinte configuração:

spring.jpa.hibernate.ddl-auto=update

Lembra sempre de olhar a documentação do Spring Boot, assim como como qualquer coisa do Spring, ela é muito boa.

Só que no exemplo do projeto do curso não existe esse arquivo. Já vi esse arquivo quando criamos o projeto na ide do próprio spring, mas nesse projeto específico do curso não encontrei esse arquivo application.properties. O único lugar que vi no projeto que poderia colocar é o arquivo Configuracao, mas não funcionou.

@SpringBootApplication
public class Configuracao {

    public static void main(String[] args) {
        SpringApplication.run(Configuracao.class, args);
    }

    @Bean
    public DataSource dataSource(){
        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setDriverClassName("com.mysql.jdbc.Driver");
        dataSource.setUrl("jdbc.mysql://localhost:3306/listavip");
        dataSource.setUsername("root");
        dataSource.setPassword("root");
        spring.jpa.hibernate.ddl-auto=update
        return dataSource;
    }
}

Como resolver isso?

solução!

Oi Alcimar.

Acho que você está no começo do projeto, pois mais na frente a gente vai criar esse arquivo que o Alberto comentou.

Para facilitar, eu fiz um backup do banco de dados para lhe ajudar.

Segue o link do arquivo.

https://github.com/alura-cursos/springboot/blob/4080a256b0fe6e0b04dcc58f27cb3e5aae376c35/backup_database.sql

Ah, obrigado meu parceiro, não sabia que ainda iria abordar o assunto. Desde já fico muito grato.

Oi Alcimar.

É um prazer ajudar. Espero que esteja gostando do curso. Se tiver alguma duvida é só postar aqui no forum que a gente ajuda sempre que possível.

Abraço

Olá,

Basta criar o arquivo application.properties na raiz do seu projeto, na mesma pasta do pom.xml. Então você coloca nesse arquivo: spring.jpa.hibernate.ddl-auto=update

Cassius, a gente tem essa configuração no curso, mas acontece mais frente de onde o alcimar chegou, por isso passei o dump pra ele e não a configuração do arquivo

Olá,

Pode-se também usar create-drop ao invés de update e usar data.sql para garantir uma inicialização limpa.

Basta criar o arquivo data.sql dentro da pasta src/main/resources com o seguinte conteúdo, por exemplo:

insert into listavip.convidado(email,nome,telefone) values('nome1@exemplo.org','nome1','(12) 3456-7890');

insert into listavip.convidado(email,nome,telefone) values('nome2@exemplo.org','nome2','(01) 2345-6789');

insert into listavip.convidado(email,nome,telefone) values('nome3@exemplo.org','nome3','(90) 1234-5678');