CPANへ2個アップ

Class-DBI-Plugin-DateFormat-Oracle-0.01

Class-DBI-Plugin-TimePiece-Oracle-0.01
を昼休みになんとか形にできたのでさっきCPANにあげました。
そのうち見えるようになると思います。

Class-DBI-Plugin-DateFormat-Oracleだけを使う場合、こんな感じ


use base 'Class::DBI';
use Class::DBI::Plugin::DateFormat::Oracle;
__PACKAGE__->set_nls_date_format('YYYY/MM/DD HH24:MI:SS');

と、すればOracleのNLS_DATE_FORMATを任意のフォーマットに設定できます。

Class-DBI-Plugin-TimePiece-Oracleを使う場合は、こんな感じ


use base 'Class::DBI';
use Class::DBI::Plugin::DateFormat::Oracle;
__PACKAGE__->set_nls_date_format('YYYY/MM/DD HH24:MI:SS');
__PACKAGE__->table('DEMO_TBL');
__PACKAGE__->columns( Primary => qw[ NO ]);
__PACKAGE__->columns( Essential => qw[ INS_DATE ]);
__PACKAGE__->has_a_atp( 'INS_DATE' );

とすれば、Date型のINS_DATEを自動的にTime::Pieceモジュールにマッピングします。
その際、Time::Pieceに渡すフォーマットはOracleから取ってきて自動で作成しますので、
利用する側は気にする必要ありません。

これでOracleのDateフィールドを扱うのが少し楽になればいいのですが。