sql-maven-plugin で dbdeploy 用管理テーブルを作成

dbdeploy 用の管理テーブル (changelog) を作成する方法として、sql-maven-plugin を利用してみた。

http://mojo.codehaus.org/sql-maven-plugin/

PostgreSQL 用のテーブル定義 (src/main/sql/0000_dbdeploy_changelog.sql) は、

CREATE TABLE IF NOT EXISTS changelog (
  change_number BIGINT NOT NULL,
  complete_dt TIMESTAMP NOT NULL,
  applied_by TEXT NOT NULL,
  description TEXT NOT NULL,

  PRIMARY KEY (change_number)
);

pom.xml は、

<project>
...
  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>sql-maven-plugin</artifactId>
        <version>1.5</version>

        <dependencies>
          <dependency>
            <groupId>postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>9.1-901.jdbc4</version>
          </dependency>
        </dependencies>

        <configuration>
          <driver>org.postgresql.Driver</driver>
          <url>jdbc:postgresql://localhost/testdb</url>
          <username>username</username>
          <password>password</password>
          <srcFiles>
            <srcFile>${basedir}/src/main/sql/0000_dbdeploy_changelog.sql</srcFile>
          </srcFiles>
        </configuration>
      </plugin>
    </plugins>
  </build>
  ...
</project>

あとは、コマンドライン上から、

  mvn sql:execute

とすればSQLが実行された。すばらしい!

だが、pom.xml に必要なものをどんどん追加していったら、冗長になってきた。シンプルにする方法はないものか。