除外テーブル
生成したくないテーブル(バックアップテーブル)
とかを指定したい。
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操作!