DBIx::Class::ProxyTable
前にhttp://d.hatena.ne.jp/nekokak/20070824/1187941930ってのをかきましたが
それをモジュール化してみた
http://coderepos.org/share/browser/lang/perl/DBIx-Class-ProxyTable
使い方
package Your::Schema; use base 'DBIx::Class::Schema'; __PACKAGE__->load_classes(qw//); package Your::Schema::Log; use base 'DBIx::Class'; __PACKAGE__->load_components(qw/ProxyTable Core/); __PACKAGE__->table('log'); __PACKAGE__->add_columns(qw/ id body /); __PACKAGE__->set_primary_key('id'); 1; # in your script: my $rs = $schema->resultset('Log'); $rs->proxy('log2')->create({id => 1, body => 'hoge'}); # insert data for log2 table my $log2 = $rs->proxy('log2')->single({id => 1});
とりあえずこんな感じ。
logテーブルをベースにSchemaを作っておいて
log2テーブルとかlog3テーブルとか構造が同じテーブルを
logテーブル一個のSchemaで操作する感じ。
Schmea一杯つくらなくてもいいし、テーブルも自動で作るから
log周りにいいんじゃまいかと。
インタフェースはちょっとへんてこな気がするのでご意見もとむ。
そしてSYNOPSIS間違ってるのに気づいた