X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FSchema%2FLoader%2FDBI.pm;h=e5c03329e8e2d60a0bbd55ebcc6b759c17348c84;hb=71a6e88a3c8774abfd058d2b87e1be00b6d75a4a;hp=fc07b22c3d425a440e27af41c4b32d3a43ff7c6a;hpb=bfb43060510498e0475461550af48f61bd99c981;p=dbsrgits%2FDBIx-Class-Schema-Loader.git diff --git a/lib/DBIx/Class/Schema/Loader/DBI.pm b/lib/DBIx/Class/Schema/Loader/DBI.pm index fc07b22..e5c0332 100644 --- a/lib/DBIx/Class/Schema/Loader/DBI.pm +++ b/lib/DBIx/Class/Schema/Loader/DBI.pm @@ -35,14 +35,17 @@ things. sub new { my $self = shift->next::method(@_); - # rebless to vendor-specific class if it exists and loads - my $dbh = $self->schema->storage->dbh; - my $driver = $dbh->{Driver}->{Name}; - - my $subclass = 'DBIx::Class::Schema::Loader::DBI::' . $driver; - if ($self->load_optional_class($subclass)) { - bless $self, $subclass unless $self->isa($subclass); - $self->_rebless; + # rebless to vendor-specific class if it exists and loads and we're not in a + # custom class. + if (not $self->loader_class) { + my $dbh = $self->schema->storage->dbh; + my $driver = $dbh->{Driver}->{Name}; + + my $subclass = 'DBIx::Class::Schema::Loader::DBI::' . $driver; + if ($self->load_optional_class($subclass)) { + bless $self, $subclass unless $self->isa($subclass); + $self->_rebless; + } } # Set up the default quoting character and name seperators