skip to Main Content

I am trying to setup flyway for a project with maven and i am unable to make it work. I have the correct configuration (db url, username, password) and i tried connecting to the DB with MySQL Workbench, PhPMyAdmin and also used the flyway command line tool and everything works except maven.

This is the error i am getting:

[ERROR] Failed to execute goal org.flywaydb:flyway-maven-plugin:8.5.5:migrate (default-cli) on project flyway-fitinpulse: org.flywaydb.core.api.FlywayException: No database found to handle jdbc:mariadb://placeholderip:3306/db_name -> [Help 1]

And my pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>org.fitinpulse</groupId>
<artifactId>flyway-fitinpulse</artifactId>
<version>1.0.0-SNAPSHOT</version>

<build>
    <plugins>
        <plugin>
            <groupId>org.flywaydb</groupId>
            <artifactId>flyway-maven-plugin</artifactId>
            <configuration>
                <url>jdbc:mariadb://placeholderip:3306/db_name</url>
                <user>user</user>
                <password>password</password>
            </configuration>
        </plugin>
    </plugins>
</build>

Does anyone has any insight?

2

Answers


  1. Chosen as BEST ANSWER

    I finally found the problem. In newer version of the flyway for mysql you need to provide another flyway dependency along with the connection driver:

    <dependencies>
        <dependency>
            <groupId>org.flywaydb</groupId>
            <artifactId>flyway-mysql</artifactId>
            <version>8.5.5</version>
        </dependency>
        <dependency>
            <groupId>org.mariadb.jdbc</groupId>
            <artifactId>mariadb-java-client</artifactId>
            <version>3.0.4</version>
        </dependency>
    </dependencies>
    

  2. Have you tried adding <driver> </driver>
    inside <configuration>?
    Because otherwise the driver is auto-detected based on the url and this might lead to a connection problem I guess.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search