JDBCタスクでの除外テーブルの設定


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

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



d:id:jfluteさんよりアドバイスいただいたので至急確認。
せっかくなので、dfpropによる設定を試す。


結果からいうと、中間一致以外は動作した
中間検索ではなく、完全一致とのこと。

以下設定ファイル。(調子にのってコメント入れてみた)
table.except.list.dfprop

#
# exclues Generate Tables definition
# ex) You can set up excludes Table that name starts with TMP_
#       list:{
#               ;prefix:TMP_
#       }
#
# ex) You can set up excludes Table that name starts with TMP_ and ends with MASTER
#
#       list:{
#               ;prefix:TMP_
#               ;suffix:MASTER
#       }
#
# * If dont use key it likes Full Match
#       list:{
#               ;AA
#       }
#
#

list:{
       ;prefix:T_
       ;suffix:_0212
       ;suffix:_0218
}


以下を確認。

  • prefix による前方一致、suffixによる後方一致は動作するが、

keyなしの中間一致は動作しない。
上記でいうところの、2008、2007、BAK
は生成物に含まれてしまう。

完全一致が仕様とのこと。


正直中間一致はほしいところだなぁ・・・
BAKyyyyMMddとかあるので。
テーブル数が少ないときは十分なんでしょうが(^^;

  • build-[project].xml

のtorque.table.except.list=list:{}
による設定とtable.except.list.dfpropによる設定とを同時に行った場合、
table.except.list.dfpropファイルによる設定が優先され、
プロパティによる設定は無視される。

  • torque.isDeleteOldTableClass = true と合わせて使うと新たに除外されたテーブルのクラスとかを消してくれるので便利
  • OracleのTimestamp型で、以下WARNログが出力される。

WARNだし、結果も問題ないので、気にしてはいませんが・・・

WARN  (DfColumnHandler#getColumnTorqueType():141) - Not found the sqlTypeCode in TypeMap: 
columnMetaInfo={"カラム名", TIMESTAMP(6) WITH TIME ZONE(13,6), -101, false, null} 
message=_jdbcIntToTorqueTypeMap doesn't contain the type as key: key=-101 
map={93=TIMESTAMP, 92=TIME, 91=DATE, 2005=CLOB, 2004=BLOB, -1=LONGVARCHAR, -2=BINARY, 
-3=VARBINARY, -4=LONGVARBINARY, -5=BIGINT, 16=BOOLEAN, -6=TINYINT, -7=BIT, 12=VARCHAR, 
8=DOUBLE, 7=REAL, 6=FLOAT, 5=SMALLINT, 4=INTEGER, 3=DECIMAL, 2=NUMERIC, 1=CHAR}