better handling of db_schema for Oracle, based on (RT#35732)
[dbsrgits/DBIx-Class-Schema-Loader.git] / lib / DBIx / Class / Schema / Loader / DBI / Oracle.pm
index 59a0dee..21e535e 100644 (file)
@@ -36,7 +36,14 @@ sub _setup {
     $self->next::method(@_);
 
     my $dbh = $self->schema->storage->dbh;
-    $self->{db_schema} ||= $dbh->selectrow_array('SELECT USER FROM DUAL', {});
+
+    my ($current_schema) = $dbh->selectrow_array('SELECT USER FROM DUAL', {});
+
+    $self->{db_schema} ||= $current_schema;
+
+    if (lc($self->db_schema) ne lc($current_schema)) {
+        $dbh->do('ALTER SESSION SET current_schema=' . $self->db_schema);
+    }
 }