除外テーブル

生成したくないテーブル(バックアップテーブル)
とかを指定したい。

JDBCタスクやらで、スキーマの情報をXML化して、
generateタスクで、ソースをジェネレートしてくれるが、
どうにもテーブルを除外したいときがある。


最新の情報についてこちらをご覧ください。

JDBCタスク時の除外テーブルを指定する(まとめ) - mokkouyou2001の日記



ご指摘いただきました。(いつもありがとうございます)

例えば、「DM_」で始まるテーブルは生成したくない場合は:
build-xxx.propertiesに

torque.table.except.list = list:{ prefix:DM_ }
とすると、除外されます。
prefix: (prefix + コロン) というキーワードで前方一致になります。

torque.table.except.list = list:{ prefix:DM_ ; prefix:AM_ }
セミコロンで除外リストを追加できます。

torque.table.except.list = list:{ prefix:DM_ ; suffix:_MASTER }
というように_MASTERで終わるやつを除外ってのもできます。

torque.table.except.list = list:{ AAA ; BBB }
キーワードを付けない場合は、中間一致です。
含んでるもの全て除外です。

DBFluteクライアント/dfprop/table.except.list.dfprop」という
ファイルを作って定義してもいけるはずです。
(論理的には...試してないですが)』

明日以降試してみたいと思います。
⇒試してみました
http://d.hatena.ne.jp/mokkouyou2001/20080702/1215000564


中間一致⇒完全一致とのこと。



都度削除面倒なんだよね・・・
それ以外でも、500テーブルとかあると、さすがに絞りたいし。
(というか、実行時にOutOfMemoryとかで落ちる。PermGenが〜〜って)


とりあえず、
jdbc.bat

project-schema-[projectname].xml

不要テーブルを削除

generate.bat


とすれば出来そう。
ここで注意点としては、


project-schema-[projectname].xml
の場所は、dbflute-[project]ではなく、


mydbflute\dbflute-[version]側のschema\project-schema-[projectname].xmlが使用されるという点。
(これって仕様?)

というわけでいじる際には注意(はまった)




と前置きが長くなったけど、
dfprofとかで指定が出来ないかな?と調査。

教えてgoogle先生「dbflute 生成 除外 テーブル」


・・・二番目に自分のblog・・・
しかも関係ない・・・まぁ気を取り直して・・・
見当たらない。まぁ私のgoogle力低下中なので検索が悪いのかもしれませんが、
出来ないと見切りをつけ、力技を探る。

DBFlute 0.4.3 †
[DBFLUTE-68] {Java/C#}: Oracleの「BIN$...」テーブルをjdbcタスクにて除外するようにした。

というのがヒントになるか??


_df-jdbc.cmd

build-torque.xml

とみてみる。
jdbcタスク・・・
んんんん・・・TorqueJDBCTransformTaskの別名だ・・・
暗雲立ち込める。


教えてgoogle先生「TorqueJDBCTransformTask ant」


うわ・・・情報すくねぇ・・・
というかAPI見る限り、無理っぽい。
そして、build.xmlをいじるのは危険。


というかこのあたりで、xml操作によるschema.xmlの編集に心が揺れる。
antのReplace、ReplaceRegExpも考えたが、
antに手を入れるのもあれなので回避。


結論
XML操作!