DBIx::Class::Schema

DBIx::Classではhttp://d.hatena.ne.jp/nekokak/20051207/1133925363で紹介したDBへのアクセス方法と
DBIx::Class::Schemaを使ったアクセス方法があります。

DBIx::Class::Schemaを使ったアクセス方法をば。

./My::Schema.pm


package My::Schema;
use strict;
use warnings;
use base qw /DBIx::Class::Schema/;
__PACKAGE__->load_classes(qw/OrderCust/);
1;

./My::DB.pm


package My::DB;
use strict;
use warnings;
use My::Schema;
My::Schema->compose_connection('My::DB', 'dbi:mysql:nekodb', 'nekokak', '******');
1;

./My::Schema::OrderCust.pm


package My::Schema::OrderCust;
use strict;
use warnings;
use base 'DBIx::Class';
__PACKAGE__->load_components(qw/Core/);
__PACKAGE__->table('order_cust');
__PACKAGE__->add_columns(qw/id name/);
1;

./test.pl


#! /usr/bin/perl
use strict;
use warnings;
use My::DB;
use Data::Dumper;
my @obj = My::DB::OrderCust->search({});
print Dumper(\@obj);

こんな感じです。

DBIx::Classをこれからメインに見ていこうかな。