1
resposta

ERRO na inicialização do ApiApplication

Oi , Depois de ter criado a V3 , table para pacientes eu fui inicializar a aplicação e esta dando o seguindo erro , vou ter que deletar essa database e criar uma nova ? Se sim terei que fazer os passo a passo tudo de denovo ?

Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2023-09-04T14:59:54.754-03:00 ERROR 10004 --- [  restartedMain] o.s.boot.SpringApplication               : Application run failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flywayInitializer' defined in class path resource [org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]: Validate failed: Migrations have failed validation
Detected failed migration to version 3 (create-table-pacientes).
Please remove any half-completed changes then run repair to fix the schema history.
1 resposta

Olá, Victor! Parece que você está enfrentando um problema com o Flyway, uma ferramenta que ajuda a gerenciar as migrações do banco de dados em suas aplicações Spring Boot.

O erro que você está vendo sugere que a migração para a versão 3 (create-table-pacientes) falhou. Isso pode ocorrer por vários motivos, como um script de migração mal formatado, um problema de conexão com o banco de dados, entre outros.

Não é necessário deletar o banco de dados e criar um novo. O Flyway tem um comando chamado 'repair' que pode ajudar a resolver esse problema. Este comando irá corrigir a tabela de schema history do Flyway, marcando migrações malsucedidas como resolvidas.

Você pode tentar executar o comando 'repair' adicionando a seguinte linha ao seu arquivo application.properties:

spring.flyway.repair=true

Depois disso, tente iniciar sua aplicação novamente. Se o problema persistir, você pode precisar revisar o script de migração que está causando o problema.

Lembre-se de que é sempre uma boa prática fazer backup do seu banco de dados antes de executar comandos como 'repair', para evitar a perda de dados.

Espero ter ajudado e bons estudos!