1
resposta

Não consigo executar migrations, falha na criação do banco de dados

A execução do migrations apresenta o log: 13 common frames omitted Caused by: org.flywaydb.core.api.exception.FlywayValidateException: Validate failed: Migrations have failed validation Detected failed migration to version 1 (create-table-medicos). Please remove any half-completed changes then run repair to fix the schema history

Ao executar a instrução SQL para deletar o flyway_schama_history no MySQL80 Wokbench, retorna essa mensagem: 12:04:13 delete from flyway_schema_history where sucess = 0 Error Code: 1046. No database selected Select the default DB to be used by double-clicking its name in the SCHEMAS list in the sidebar. 0.031 sec

Alguém poderia me auxiliar a resolver esse problema?

1 resposta

Sobre o seu erro ao executar a instrução SQL, pode ser que não tenha usado o comando "use" antes de rodar o delete; Rode o seguinte comando, alterando o "DATABASE" pelo nome da sua DB:

USE DATABASE;

Em seguida rode o comando para deletar as rows da tabela "flyway_schema_history":

DELETE from flyway_schema_history WHERE success = 0;

Isso deve resolver o seu segundo problema;

Sobre o seu primeiro problema, tem um outro tópico na qual outro Dev teve o mesmo problema, deixarei o link logo abaixo: https://cursos.alura.com.br/forum/topico-detected-failed-migration-to-version-1-create-table-medicos-315861

Mas em resumo:

  1. Verifique as escritas na suas migrations do Flyway;
  2. Verifique também se no seu POM.xml ou application.properties está as seguintes configurações:

Application.properties

spring.datasource.url=jdbc:{SEU_TIPO_DE_BANCO_DE_DADOS}://localhost:5432/{NOME_DATABASE}
spring.datasource.username=myuser
spring.datasource.password=mypassword

POM.xml

<plugin> 
    <groupId>org.flywaydb</groupId> 
    <artifactId>flyway-maven-plugin</artifactId> 
    <version>6.5.5</version> 
    <configuration> 
        <url>your_db_url</url> 
        <user>your_db_username</user> 
        <password>your_db_password</password>
    </configuration>
</plugin>
  1. Após verificar, tente rodar o comando:
mvn flyway:repair

ou

./mvnw flyway:repair

"Depois de executar o comando "repair", o Flyway deve corrigir o histórico do esquema e permitir que você execute as migrações novamente sem erros de validação. [...]"