1 package DBIx::Class::DB;
3 use base qw/Class::Data::Inheritable/;
4 use DBIx::Class::Storage::DBI;
5 use DBIx::Class::ClassResolver::PassThrough;
10 DBIx::Class::DB - Simple DBIx::Class Database connection by class inheritance
16 use base qw/DBIx::Class/;
17 __PACKAGE__->load_components('DB');
19 __PACKAGE__->connection('dbi:...', 'user', 'pass', \%attrs);
21 package MyDB::MyTable;
24 __PACKAGE__->load_components('Core');
30 This class provides a simple way of specifying a database connection.
38 __PACKAGE__->mk_classdata('storage');
39 __PACKAGE__->mk_classdata('class_resolver' =>
40 'DBIx::Class::ClassResolver::PassThrough');
44 __PACKAGE__->connection($dsn, $user, $pass, $attrs);
46 Specifies the arguments that will be passed to DBI->connect(...) to
47 instantiate the class dbh when required.
52 my ($class, @info) = @_;
53 my $storage = DBIx::Class::Storage::DBI->new;
54 $storage->connect_info(\@info);
55 $class->storage($storage);
62 Issues a commit again the current dbh
66 sub dbi_commit { $_[0]->storage->commit; }
72 Issues a rollback again the current dbh
76 sub dbi_rollback { $_[0]->storage->rollback; }
78 sub resolve_class { return shift->class_resolver->class(@_); }
86 Matt S. Trout <mst@shadowcatsystems.co.uk>
90 You may distribute this code under the same terms as Perl itself.