This is a very simple Maven plugin that can create, drop, and dump PostgreSQL and MySql databases.
The plugin requires the JDBC url, username, and password to be specified. Add the appropriate version of the JDBC driver as a dependency.
<plugin>
<groupId>com.vecna</groupId>
<artifactId>db-manager-plugin</artifactId>
<configuration>
<url>jdbc:postgresql://localhost/mydb</url>
<username>user</username>
<password>mypass</password>
</configuration>
<dependencies>
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.3-1102.jdbc41</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>com.vecna</groupId>
<artifactId>db-manager-plugin</artifactId>
<configuration>
<url>jdbc:mysql://localhost/mydb</url>
<username>user</username>
<password>mypass</password>
</configuration>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.43</version>
</dependency>
</dependencies>
</plugin>
- create: creates the database (by running "create database ...").
- drop: drops the database (by running "drop database ...").
- dump: dumps the database to a file (requires pg_dump or mysqldump).
The plugin only works with PostgreSQL and MySql. To support another database, create a new implementation of the DbStrategy interface.