[Seasar-user:8379] Re: [Db Launcher]全テーブルが消えてしまう

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2007年 6月 18日 (月) 01:00:20 JST


小林 (koichik) です.

Date:    Sun, 17 Jun 2007 10:41:50 +0900
From:    "Tetsutaroh Satoh" <[E-MAIL ADDRESS DELETED]>
To:      <[E-MAIL ADDRESS DELETED]>
Subject: [Seasar-user:8378] [Db Launcher]全テーブルが消えてしまう

> Daoのテストを実行したところ、「テーブルが見つかりません」
> 
> というエラーが出たので、テーブルを確認すると、
> 
> 定義したはずのテーブルが全テーブル消えてしまって
> 
> いました。
> 
> 以前にも1回ありまして、これで2回目です。
> 
> こんなことが、あるのでしょうか?

テーブルの定義はどのようにしましたか?

Dolteng で作成したプロジェクトの場合,DbLauncher は
ビルドして src/main/webapp/WEB-INF/classes/data に
配置されるリソースを参照するように設定されます.
jdbc.dicon の設定が

  <property name="URL">"jdbc:h2:tcp://localhost:9092/demo"</property>

のようになっている場合は,

src/main/webapp/WEB-INF/classes/data/demo.sql

というファイルが参照されます.

src/main/webapp/WEB-INF/classes

というディレクトリはビルド (コンパイル) の出力先であるため,
ビルドすると上記ファイルは

src/main/resources/data/demo.sql

から上書きでコピーされます.

ですから,もし 

src/main/webapp/WEB-INF/classes/data/demo.sql

を修正してテーブルを定義したとか,H2 コンソールから
テーブル定義を追加した場合は,H2 を停止して
ビルドすると追加した定義が失われます.

テーブル定義を追加するなら

src/main/resources/data/demo.sql

を修正してください.


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>



Seasar-user メーリングリストの案内