1
resposta

[Bug] Erro na hora de executar o arquivo data.sql

Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2024-06-24T21:38:18.961-03:00 ERROR 1756 --- [  restartedMain] o.s.boot.SpringApplication               : Application run failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Failed to initialize dependency 'dataSourceScriptDatabaseInitializer' of LoadTimeWeaverAware bean 'entityManagerFactory': Error creating bean with name 'dataSourceScriptDatabaseInitializer' defined in class path resource [org/springframework/boot/autoconfigure/sql/init/DataSourceInitializationConfiguration.class]: Failed to execute SQL script statement #1 of file [D:\github.com\alura\api-forum\target\classes\data.sql]: insert into curso (id, nome, categoria) values(1, 'Kotlin', 'PROGRAMACAO')
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:326) ~[spring-beans-6.1.10.jar:6.1.10]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:205) ~[spring-beans-6.1.10.jar:6.1.10]
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:952) ~[spring-

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá Allan, tudo bem?

Pelo erro apresentado, parece que o Spring Boot está tendo problemas para executar o script data.sql. Isso pode ocorrer por diversos motivos, como problemas de conexão com o banco de dados, erros de sintaxe no SQL ou até mesmo problemas de configuração.

Aqui estão alguns passos que você pode seguir para tentar resolver o problema:

  1. Verifique a sintaxe do SQL: Certifique-se de que o arquivo data.sql está corretamente formatado e que não há erros de sintaxe. No seu caso, o comando SQL parece estar correto, mas vale a pena revisar.

    insert into curso (id, nome, categoria) values(1, 'Kotlin', 'PROGRAMACAO');
    insert into usuario (id, nome, email) values(1, 'Ana da Silva', 'ana@email.com');
    
  2. Verifique a configuração do banco de dados: Certifique-se de que as configurações do banco de dados no arquivo application.properties ou application.yml estão corretas e que o banco de dados está acessível.

    spring.datasource.url=jdbc:mysql://localhost:3306/seu_banco_de_dados
    spring.datasource.username=seu_usuario
    spring.datasource.password=sua_senha
    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
    
  3. Verifique se as tabelas existem: Certifique-se de que as tabelas curso e usuario existem no banco de dados e que suas colunas estão corretamente definidas.

Se, após seguir esses passos, o problema persistir, por favor, forneça todo o seu projeto, envie ele via GitHub ou Drive do Google.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.