8.5.2. gsp-dba-maven-plugin(DBA作業支援ツール)の初期設定方法¶
8.5.2.1. 概要¶
gsp-dba-maven-plugin(外部サイト) は、Apache License Version 2.0 ライセンスで提供されるオープンソースのツールである。
gsp-dba-maven-pluginは、利用開始前にRDBMSにあわせた設定を行う必要がある。
本手順では、アーキタイプから生成したプロジェクトで、gsp-dba-maven-pluginを使用するための設定方法を示す。
8.5.2.3. Mavenの設定¶
gsp-dba-maven-pluginを使用するにあたって、3rd Party Repositoryの設定が必要である。
設定は、<ホームディレクトリ>/.m2/settings.xmlに行う。
<settings>
<!-- 中略 -->
<profiles>
<profile>
<id>my-repository</id>
<repository>
<id>maven.seasar.org</id>
<name>The Seasar Foundation Maven Repository</name>
<url>http://maven.seasar.org/maven2</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>maven-snapshot.seasar.org</id>
<name>The Seasar Foundation Maven Snapshot Repository</name>
<url>http://maven.seasar.org/maven2-snapshot</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</profile>
</profiles>
<!-- 中略 -->
</settings>
補足
gsp-dba-maven-pluginはデフォルトでH2 Database Engine(以下H2)を使うように設定されている。
H2を使用する場合は、以降の手順は不要である。 動作確認 だけ行うこと。
8.5.2.4. ファイル修正¶
8.5.2.4.1. pom.xmlファイルの修正¶
8.5.2.4.1.1. properties要素内¶
pom.xmlのpropertiesタグ内の以下の箇所を修正する。
プロパティ名 | 説明 |
---|---|
nablarch.db.jdbcDriver | JDBCドライバのクラス名 |
nablarch.db.url | データベースの接続URL |
nablarch.db.adminUser | 管理者ユーザー名 |
nablarch.db.adminPassword | 管理者ユーザーのパスワード |
nablarch.db.user | データベースアクセスユーザ名 |
nablarch.db.password | データベースアクセスユーザのパスワード |
nablarch.db.schema | 接続するスキーマ名 |
以下に記述例を示す。
Oracleの設定例
<nablarch.db.jdbcDriver>oracle.jdbc.driver.OracleDriver</nablarch.db.jdbcDriver>
<!-- jdbc:oracle:thin:@ホスト名:ポート番号:データベースのSID -->
<nablarch.db.url>jdbc:oracle:thin:@localhost:1521/xe</nablarch.db.url>
<nablarch.db.adminUser>SAMPLE</nablarch.db.adminUser>
<nablarch.db.adminPassword>SAMPLE</nablarch.db.adminPassword>
<nablarch.db.user>sample</nablarch.db.user>
<nablarch.db.password>sample</nablarch.db.password>
<nablarch.db.schema>sample</nablarch.db.schema>
PostgreSQLの設定例
<nablarch.db.jdbcDriver>org.postgresql.Driver</nablarch.db.jdbcDriver>
<!-- jdbc:postgresql://ホスト名:ポート番号/データベース名 -->
<nablarch.db.url>jdbc:postgresql://localhost:5432/postgres</nablarch.db.url>
<nablarch.db.adminUser>SAMPLE</nablarch.db.adminUser>
<nablarch.db.adminPassword>SAMPLE</nablarch.db.adminPassword>
<nablarch.db.user>sample</nablarch.db.user>
<nablarch.db.password>sample</nablarch.db.password>
<nablarch.db.schema>sample</nablarch.db.schema>
DB2の設定例
<nablarch.db.jdbcDriver>com.ibm.db2.jcc.DB2Driver</nablarch.db.jdbcDriver>
<!-- jdbc:db2://ホスト名:ポート番号/データベース名 -->
<nablarch.db.url>jdbc:db2://localhost:50000/SAMPLE</nablarch.db.url>
<nablarch.db.adminUser>SAMPLE</nablarch.db.adminUser>
<nablarch.db.adminPassword>SAMPLE</nablarch.db.adminPassword>
<nablarch.db.user>sample</nablarch.db.user>
<nablarch.db.password>sample</nablarch.db.password>
<nablarch.db.schema>sample</nablarch.db.schema>
SQLServerの設定例
<nablarch.db.jdbcDriver>com.microsoft.sqlserver.jdbc.SQLServerDriver</nablarch.db.jdbcDriver>
<!-- jdbc:sqlserver://ホスト名:ポート番号;instanceName=インスタンス名 -->
<nablarch.db.url>jdbc:sqlserver://localhost:1433;instanceName=SQLEXPRESS</nablarch.db.url>
<nablarch.db.adminUser>SAMPLE</nablarch.db.adminUser>
<nablarch.db.adminPassword>SAMPLE</nablarch.db.adminPassword>
<nablarch.db.user>sample</nablarch.db.user>
<nablarch.db.password>sample</nablarch.db.password>
<nablarch.db.schema>sample</nablarch.db.schema>
8.5.2.4.1.2. build要素内¶
gsp-dba-maven-pluginに対する依存関係を、H2のJDBCドライバから使用するRDBMSにあわせたものに修正する。
POMの設定例は、 pom.xmlファイルの修正 を参照。 例えば、PostgreSQLを利用する場合は以下のように設定する。
<build>
<plugins>
<plugin>
<groupId>jp.co.tis.gsp</groupId>
<artifactId>gsp-dba-maven-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<!-- バージョンは適切な値に書き換えてください。 -->
<version>42.1.4</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
8.5.2.4.2. data-model.edm (src/main/resources/entity)の準備¶
src/main/resources/entity以下にRDBMS毎にedmファイルが存在するので、使用するRDBMSに対応するファイルを「data-model.edm」にリネームする。
8.5.2.5. 動作確認¶
重要
DBのデータが削除されるため、必要であれば現在DBに格納されているデータを退避しておくこと。
1.以下のコマンドを実行して、DDLの生成からダンプファイル作成までを行う。
mvn -P gsp clean generate-resources
補足
以下のゴールが実行されるように、各アーキタイプから生成したプロジェクトのpom.xmlに記述されている。
- generate-ddl
- execute-ddl
- load-data
- export-schema
成功すると以下のようなログがコンソールに出力される。
(中略)
[INFO] --- gsp-dba-maven-plugin:3.2.0:export-schema (default-cli) @ myapp-web ---
[INFO] PUBLICスキーマのExportを開始します。:C:\develop\myapp\myapp-web\gsp-target\output\PUBLIC.dmp
[INFO] Building jar: C:\develop\myapp-web\gsp-target\output\myapp-web-testdata-0.1.0.jar
[INFO] PUBLICスキーマのExport完了
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.415 s
[INFO] Finished at: 2016-05-11T21:17:03+09:00
[INFO] Final Memory: 13M/31M
[INFO] ------------------------------------------------------------------------
また、 gsp-target/output/
ディレクトリにダンプファイルが格納されたjarファイルが生成される。
補足
実行に失敗する場合は、RDBMS固有の制限事項に抵触していないか確認する。
RDBMS固有の制限事項については、https://github.com/coastland/gsp-dba-maven-plugin (外部サイト)の「ゴール共通のパラメータ」を参照。
2.以下のコマンドを実行して、ダンプファイルをローカルリポジトリへインストールする。
mvn -P gsp install:install-file
成功すると以下のようなログがコンソールに出力される。
(中略)
[INFO] --- maven-install-plugin:2.5.2:install-file (default-cli) @ myapp-web ---
[INFO] pom.xml not found in myapp-web-testdata-0.1.0.jar
[INFO] Installing C:\develop\myapp-web\gsp-target\output\myapp-web-testdata-0.1.0.jar to C:\Users\TISxxxxxx\.m2\repository\com\example\myapp-web-testdata\0.1.0\myapp-web-testdata-0.1.0.jar
[INFO] Installing C:\Users\TISxxx~1\AppData\Local\Temp\mvninstall7441010390688212345.pom to C:\Users\TISxxxxxx\.m2\repository\com\example\myapp-web-testdata\0.1.0\myapp-web-testdata-0.1.0.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.077 s
[INFO] Finished at: 2016-05-12T14:37:39+09:00
[INFO] Final Memory: 8M/20M
[INFO] ------------------------------------------------------------------------
3.以下のコマンドを実行して、ダンプファイルをインポートする。
mvn -P gsp gsp-dba:import-schema
成功すると以下のようなログがコンソールに出力される。
(中略)
[INFO] スキーマのインポートを開始します。:C:\develop\myapp-web\gsp-target\output\PUBLIC.dmp
[INFO] スキーマのインポートを終了しました
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.584 s
[INFO] Finished at: 2016-05-12T14:49:58+09:00
[INFO] Final Memory: 9M/23M
[INFO] ------------------------------------------------------------------------