my @configuration_db_one = ...; my @configuration_db_two = ...; my $schema_one = MyDBIC::Schema->connect( @configuration_db_one ); my $schema_two = MyDBIC::Schema->connect( @configuration_db_two ); # ^^^ Wrong, connection from $schema_one is reused despite new config. my $schema_one = MyDBIC::Schema->connect( @configuration_db_one ); $schema_one->storage->disconnect; my $schema_two = MyDBIC::Schema->connect( @configuration_db_two ); # ^^^ Right, $schema_one will reconnect with its own info when used.