AIPOのDBテーブルにカラム追加

投稿者: | 2015-12-20

AipoはCayenne を通じてデータベースに接続して、必要なデータを取得したり、追加したりしています。
Cayenne を利用するためには、

  • 実際にデータベースにあるテーブル構造を、Cayenneにも設定しておく
  • テーブル構造ごとのJavaのクラスファイルを作成する

の2点必要があります。
この設定とクラスファイルの作成の両方を行うためのツールがCayenne Modeler です。

DBをカラムした場合は、変更後のCayenne Modelerでテーブル構造に合った「Cayenneの設定ファイル(xml)」および「オブジェクトモデルのJava クラス」を生成しなければなりません。

まずPostgreSQLでカラムを追加

AIPOのタイムカード情報は「EipTExtTimecard」というテーブルに記録されているので、ここにユーザーメモ用に「user_memo」というText型のカラムを追加します。

Windows開発環境にセットアップ済みのPostgreSQLのpsql.exeをコマンドプロンプトで
「psql.exe -U aipo_postgres -h localhost -d org001」
(gitからソースを取ってきた人は、-U postgresかな)
と入力し、パスワード+「enter」でDBに接続する。
100

カラム追加のクエリーを実行する。

101
ちゃんと追加されているかを確認する。

102

CayenneModelerの起動

ドキュメント|無料グループウェア「アイポ」
に従って開発環境を構築していれば、下記で「Cayenne Modeler」が起動できる。
(cayenne_home)\bin\CayenneModeler.exe
01

JDBCを指定する

レフトメニューの「ClassPath」をクリックし、右側の[Add Jar/Zip]ボタンをクリックする。
300
AIPOビルド環境構築にて、セットアップしたJDBCドライバのJarファイルを指定する。

http://jdbc.postgresql.org/download/postgresql-8.1-415.jdbc3.jar
301
[Save]をクリック
302

PostgreSQLとつなげる

メニュー「Tools」->「Preferences」をクリック。
200
“Edit Preferences”ウィンドウが表示されるので、レフトメニューの「Local DataSources」をクリックする。
201
[New..]ボタンをクリック
202
Adapter:をPostgresのものを選択し、[Create]ボタンをクリック
203
DB URL:のdatabaseをorg001に変更。そしてUserNameとPasswordを入力して[Test..]ボタンをクリック
204
303
Successと表示されるはず。
304
[Save]をクリックする。

プロジェクトファイルを開く

[File]-[Open Project]で、プロジェクトファイルを開きます。

02
03
プロジェクトファイルを開くと下記のような画面になる。
04
ちなみに、このcayenne.xmlは下記のようなファイル

PostgreSQLと同期

先ほど追加したカラムについて、AIPOのタイムカード情報「EipTExtTimecard」テーブルと同期してCayenee Modelerに反映させる。
ツリー表示の「SharedDomainMap」をクリックする。
308
Tools
–> Reengineer Databse Schema
とクリックする。
305
JDBC経由でDBに接続する。
306
Select Schema:をPublicに変更して、[Continue]をクリック
307
既にDbEntityが存在してますよ!と警告されるが、構わずに[Overwrite]をクリックする。
309
Progress..と表示され同期が行われる。
310

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です