DEV Community

Salad Lam
Salad Lam

Posted on

Adding Liquibase plugin into Apache Maven managed project

Setup

Content of database/liquibase.properties

driver: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/databasename
username: root
password: password
Enter fullscreen mode Exit fullscreen mode

Add the following into Maven's pom.xml file

<build>
    <plugins>
        <!-- other plugins ... -->
        <plugin>
            <groupId>org.liquibase</groupId>
            <artifactId>liquibase-maven-plugin</artifactId>
            <version>4.27.0</version>
            <configuration>
                <propertyFile>${project.basedir}/database/liquibase.properties</propertyFile>
                <!-- must use relative path because this will save into `databasechangelog` table
                rollback will fail if `FILENAME` not match -->
                <changeLogFile>database/changelog.xml</changeLogFile>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                    <version>8.0.33</version>
                </dependency>
            </dependencies>
        </plugin>
   </plugins>
</build>
<!-- other sections ... -->
Enter fullscreen mode Exit fullscreen mode

And put the database change file changelog.xml into database directory of project root.

Command

Apply all changes into the database

mvn liquibase:update
Enter fullscreen mode Exit fullscreen mode

Available commands can refer to here.

Top comments (0)