DBIx::Class::DB - Non-recommended classdata schema component
package MyDB; use base qw/DBIx::Class/; __PACKAGE__->load_components('DB'); __PACKAGE__->connection('dbi:...', 'user', 'pass', \%attrs); package MyDB::MyTable; use base qw/MyDB/; __PACKAGE__->load_components('Core'); # just load this in MyDB if it will # always be there ...
This class is designed to support the Class::DBI connection-as-classdata style for DBIx::Class. You are *strongly* recommended to use a DBIx::Class::Schema instead; DBIx::Class::DB will continue to be supported but new development will be focused on Schema-based DBIx::Class setups.
Sets or gets the storage backend. Defaults to DBIx::Class::Storage::DBI.
Sets or gets the class to use for resolving a class. Defaults to DBIx::Class::ClassResolver::Passthrough, which returns whatever you give it. See resolve_class below.
__PACKAGE__->connection($dsn, $user, $pass, $attrs);
Specifies the arguments that will be passed to DBI->connect(...) to instantiate the class dbh when required.
Creates a class method ->schema_instance which contains a DBIx::Class::Schema; all class-method operations are proxies through to this object. If you don't call ->connection in your DBIx::Class::DB subclass at load time you *must* call ->setup_schema_instance in order for subclasses to find the schema and register themselves with it.
Begins a transaction (does nothing if AutoCommit is off).
Commits the current transaction.
Rolls back the current transaction.
Executes a block of code transactionally. If this code reference throws an exception, the transaction is rolled back and the exception is rethrown. See "txn_do" in DBIx::Class::Schema for more details.
Matt S. Trout <email@example.com>
You may distribute this code under the same terms as Perl itself.