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?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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?
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?
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.
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');