diff --git a/lib/NGCP/Schema/accounting.pm b/lib/NGCP/Schema/accounting.pm
index 7df465d8..c2dbe7ec 100644
--- a/lib/NGCP/Schema/accounting.pm
+++ b/lib/NGCP/Schema/accounting.pm
@@ -20,8 +20,7 @@ class_has('config', is => 'rw', isa => 'NGCP::Schema::Config', lazy => 1, defaul
 });
 
 method connection {
-    my %connect_info = %{ $self->config->as_hash->{accountingdb} };
-    $self->SUPER::connection(@connect_info{qw(dsn username password)});
+    $self->SUPER::connection($self->config->as_hash->{accountingdb});
 }
 
 __PACKAGE__->meta->make_immutable(inline_constructor => 0);
diff --git a/lib/NGCP/Schema/billing.pm b/lib/NGCP/Schema/billing.pm
index 758a6931..e5372bff 100644
--- a/lib/NGCP/Schema/billing.pm
+++ b/lib/NGCP/Schema/billing.pm
@@ -27,8 +27,7 @@ has('provisioning', is => 'rw', isa => 'NGCP::Schema::provisioning', lazy => 1,
 });
 
 method connection {
-    my %connect_info = %{ $self->config->as_hash->{billingdb} };
-    $self->SUPER::connection(@connect_info{qw(dsn username password)});
+    $self->SUPER::connection($self->config->as_hash->{billingdb});
 }
 
 method get_domain($reseller_id, $domain) {
diff --git a/lib/NGCP/Schema/carrier.pm b/lib/NGCP/Schema/carrier.pm
index 28c93fa4..69dfef67 100644
--- a/lib/NGCP/Schema/carrier.pm
+++ b/lib/NGCP/Schema/carrier.pm
@@ -20,8 +20,7 @@ class_has('config', is => 'rw', isa => 'NGCP::Schema::Config', lazy => 1, defaul
 });
 
 method connection {
-    my %connect_info = %{ $self->config->as_hash->{carrierdb} };
-    $self->SUPER::connection(@connect_info{qw(dsn username password)});
+    $self->SUPER::connection($self->config->as_hash->{carrierdb});
 }
 
 __PACKAGE__->meta->make_immutable(inline_constructor => 0);
diff --git a/lib/NGCP/Schema/kamailio.pm b/lib/NGCP/Schema/kamailio.pm
index 27340eb5..3773f058 100644
--- a/lib/NGCP/Schema/kamailio.pm
+++ b/lib/NGCP/Schema/kamailio.pm
@@ -20,8 +20,7 @@ class_has('config', is => 'rw', isa => 'NGCP::Schema::Config', lazy => 1, defaul
 });
 
 method connection {
-    my %connect_info = %{ $self->config->as_hash->{kamailiodb} };
-    $self->SUPER::connection(@connect_info{qw(dsn username password)});
+    $self->SUPER::connection($self->config->as_hash->{kamailiodb});
 }
 
 __PACKAGE__->meta->make_immutable(inline_constructor => 0);
diff --git a/lib/NGCP/Schema/ngcp.pm b/lib/NGCP/Schema/ngcp.pm
index f762e3f9..b5b9493e 100644
--- a/lib/NGCP/Schema/ngcp.pm
+++ b/lib/NGCP/Schema/ngcp.pm
@@ -20,8 +20,7 @@ class_has('config', is => 'rw', isa => 'NGCP::Schema::Config', lazy => 1, defaul
 });
 
 method connection {
-    my %connect_info = %{ $self->config->as_hash->{ngcpdb} };
-    $self->SUPER::connection(@connect_info{qw(dsn username password)});
+    $self->SUPER::connection($self->config->as_hash->{ngcpdb});
 }
 
 __PACKAGE__->meta->make_immutable(inline_constructor => 0);
diff --git a/lib/NGCP/Schema/provisioning.pm b/lib/NGCP/Schema/provisioning.pm
index 2033ba60..4795bc9f 100644
--- a/lib/NGCP/Schema/provisioning.pm
+++ b/lib/NGCP/Schema/provisioning.pm
@@ -23,8 +23,7 @@ class_has('config', is => 'rw', isa => 'NGCP::Schema::Config', lazy => 1, defaul
 has('validator', is => 'rw', isa => 'NGCP::Schema', lazy => 1, default => sub { return NGCP::Schema->new; });
 
 method connection {
-    my %connect_info = %{ $self->config->as_hash->{provisioningdb} };
-    $self->SUPER::connection(@connect_info{qw(dsn username password)});
+    $self->SUPER::connection($self->config->as_hash->{provisioningdb});
 }
 
 method _get_domain_id($domain) {
diff --git a/lib/NGCP/Schema/sipstats.pm b/lib/NGCP/Schema/sipstats.pm
index ad62ad73..a228925e 100644
--- a/lib/NGCP/Schema/sipstats.pm
+++ b/lib/NGCP/Schema/sipstats.pm
@@ -20,8 +20,7 @@ class_has('config', is => 'rw', isa => 'NGCP::Schema::Config', lazy => 1, defaul
 });
 
 method connection {
-    my %connect_info = %{ $self->config->as_hash->{sipstatsdb} };
-    $self->SUPER::connection(@connect_info{qw(dsn username password)});
+    $self->SUPER::connection($self->config->as_hash->{sipstatsdb});
 }
 
 __PACKAGE__->meta->make_immutable(inline_constructor => 0);