1 package DBIx::Class::DB;
3 use base qw/DBIx::Class/;
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.
36 Sets or gets the storage backend. Defaults to L<DBIx::Class::Storage::DBI>.
40 Sets or gets the class to use for resolving a class. Defaults to
41 L<DBIx::Class::ClassResolver::Passthrough>, which returns whatever you give
42 it. See resolve_class below.
46 __PACKAGE__->mk_classdata('storage');
47 __PACKAGE__->mk_classdata('class_resolver' =>
48 'DBIx::Class::ClassResolver::PassThrough');
52 __PACKAGE__->connection($dsn, $user, $pass, $attrs);
54 Specifies the arguments that will be passed to DBI->connect(...) to
55 instantiate the class dbh when required.
60 my ($class, @info) = @_;
61 my $storage = DBIx::Class::Storage::DBI->new;
62 $storage->connect_info(\@info);
63 $class->storage($storage);
68 Issues a commit against the current dbh.
72 sub dbi_commit { $_[0]->storage->commit; }
76 Issues a rollback against the current dbh.
80 sub dbi_rollback { $_[0]->storage->rollback; }
82 sub resolve_class { return shift->class_resolver->class(@_); }
88 Matt S. Trout <mst@shadowcatsystems.co.uk>
92 You may distribute this code under the same terms as Perl itself.