Home > Software design >  Cannot connect to database with flyway through Maven
Cannot connect to database with flyway through Maven

Time:04-03

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?

CodePudding user response:

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.

CodePudding user response:

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>
  • Related