diff --git a/charts/barbican/templates/bin/_simple_crypto_kek_rewrap.py.tpl b/charts/barbican/templates/bin/_simple_crypto_kek_rewrap.py.tpl
index 7a52175..8f476f7 100644
--- a/charts/barbican/templates/bin/_simple_crypto_kek_rewrap.py.tpl
+++ b/charts/barbican/templates/bin/_simple_crypto_kek_rewrap.py.tpl
@@ -33,7 +33,7 @@
 
     def __init__(self, conf, old_kek):
         self.dry_run = False
-        self.db_engine = session.create_engine(conf.sql_connection)
+        self.db_engine = session.create_engine(conf.database.connection)
         self._session_creator = scoping.scoped_session(
             orm.sessionmaker(
                 bind=self.db_engine,
diff --git a/charts/barbican/templates/configmap-etc.yaml b/charts/barbican/templates/configmap-etc.yaml
index d2bff2c..fba2956 100644
--- a/charts/barbican/templates/configmap-etc.yaml
+++ b/charts/barbican/templates/configmap-etc.yaml
@@ -49,12 +49,12 @@
 {{- $_ := set .Values.conf.barbican.keystone_authtoken "memcache_secret_key" ( default ( randAlphaNum 64 ) .Values.endpoints.oslo_cache.auth.memcache_secret_key ) -}}
 {{- end -}}
 
-{{- if empty .Values.conf.barbican.DEFAULT.sql_connection -}}
+{{- if empty .Values.conf.barbican.database.connection -}}
 {{- $connection := tuple "oslo_db" "internal" "barbican" "mysql" . | include "helm-toolkit.endpoints.authenticated_endpoint_uri_lookup" -}}
 {{- if .Values.manifests.certificates -}}
-{{- $_ := (printf "%s?charset=utf8&ssl_ca=/etc/mysql/certs/ca.crt&ssl_key=/etc/mysql/certs/tls.key&ssl_cert=/etc/mysql/certs/tls.crt&ssl_verify_cert" $connection ) | set .Values.conf.barbican.DEFAULT "sql_connection" -}}
+{{- $_ := (printf "%s?charset=utf8&ssl_ca=/etc/mysql/certs/ca.crt&ssl_key=/etc/mysql/certs/tls.key&ssl_cert=/etc/mysql/certs/tls.crt&ssl_verify_cert" $connection ) | set .Values.conf.barbican.database "connection" -}}
 {{- else -}}
-{{- $_ := set .Values.conf.barbican.DEFAULT "sql_connection" $connection -}}
+{{- $_ := set .Values.conf.barbican.database "connection" $connection -}}
 {{- end -}}
 {{- end -}}
 
diff --git a/charts/barbican/templates/job-db-drop.yaml b/charts/barbican/templates/job-db-drop.yaml
index b6f0a6f..b3f474e 100644
--- a/charts/barbican/templates/job-db-drop.yaml
+++ b/charts/barbican/templates/job-db-drop.yaml
@@ -13,11 +13,9 @@
 */}}
 
 {{- if .Values.manifests.job_db_drop }}
-{{- $serviceName := "barbican" -}}
-{{- $dbToDrop := dict "adminSecret" .Values.secrets.oslo_db.admin "configFile" (printf "/etc/%s/%s.conf" $serviceName $serviceName ) "logConfigFile" (printf "/etc/%s/logging.conf" $serviceName ) "configDbSection" "DEFAULT" "configDbKey" "sql_connection" -}}
-{{- $dbDropJob := dict "envAll" . "serviceName" $serviceName "dbToDrop" $dbToDrop -}}
+{{- $dbDropJob := dict "envAll" . "serviceName" "barbican" -}}
 {{- if .Values.manifests.certificates -}}
-{{- $_ := set $dbToDrop "dbAdminTlsSecret" .Values.endpoints.oslo_db.auth.admin.secret.tls.internal -}}
+{{- $_ := set $dbDropJob "dbAdminTlsSecret" .Values.endpoints.oslo_db.auth.admin.secret.tls.internal -}}
 {{- end -}}
 {{- if .Values.pod.tolerations.barbican.enabled -}}
 {{- $_ := set $dbDropJob "tolerationsEnabled" true -}}
diff --git a/charts/barbican/templates/job-db-init.yaml b/charts/barbican/templates/job-db-init.yaml
index afe16dc..8d24ff9 100644
--- a/charts/barbican/templates/job-db-init.yaml
+++ b/charts/barbican/templates/job-db-init.yaml
@@ -13,19 +13,18 @@
 */}}
 
 {{- define "metadata.annotations.job.db_init" }}
-{{- if .Values.helm3_hook }}
 helm.sh/hook: post-install,post-upgrade
 helm.sh/hook-weight: "-5"
 {{- end }}
-{{- end }}
 
 {{- if .Values.manifests.job_db_init }}
-{{- $serviceName := "barbican" -}}
-{{- $dbToInit := dict "adminSecret" .Values.secrets.oslo_db.admin "configFile" (printf "/etc/%s/%s.conf" $serviceName $serviceName ) "logConfigFile" (printf "/etc/%s/logging.conf" $serviceName ) "configDbSection" "DEFAULT" "configDbKey" "sql_connection" -}}
-{{- $dbInitJob := dict "envAll" . "serviceName" $serviceName "dbToInit" $dbToInit "jobAnnotations" (include "metadata.annotations.job.db_init" . | fromYaml) -}}
+{{- $dbInitJob := dict "envAll" . "serviceName" "barbican" -}}
 {{- if .Values.manifests.certificates -}}
 {{- $_ := set $dbInitJob "dbAdminTlsSecret" .Values.endpoints.oslo_db.auth.admin.secret.tls.internal -}}
 {{- end -}}
+{{- if .Values.helm3_hook }}
+{{- $_ := set $dbInitJob "jobAnnotations" (include "metadata.annotations.job.db_init" . | fromYaml) }}
+{{- end }}
 {{- if .Values.pod.tolerations.barbican.enabled -}}
 {{- $_ := set $dbInitJob "tolerationsEnabled" true -}}
 {{- end -}}
diff --git a/charts/manila/templates/job-db-drop.yaml b/charts/manila/templates/job-db-drop.yaml
index 9d63fa9..8dc2ba6 100644
--- a/charts/manila/templates/job-db-drop.yaml
+++ b/charts/manila/templates/job-db-drop.yaml
@@ -13,11 +13,9 @@
 */}}
 
 {{- if .Values.manifests.job_db_drop }}
-{{- $serviceName := "manila" -}}
-{{- $dbToDrop := dict "adminSecret" .Values.secrets.oslo_db.admin "configFile" (printf "/etc/%s/%s.conf" $serviceName $serviceName ) "logConfigFile" (printf "/etc/%s/logging.conf" $serviceName ) "configDbSection" "DEFAULT" "configDbKey" "sql_connection" -}}
-{{- $dbDropJob := dict "envAll" . "serviceName" $serviceName "dbToDrop" $dbToDrop -}}
+{{- $dbDropJob := dict "envAll" . "serviceName" "manila" -}}
 {{- if .Values.manifests.certificates -}}
-{{- $_ := set $dbToDrop "dbAdminTlsSecret" .Values.endpoints.oslo_db.auth.admin.secret.tls.internal -}}
+{{- $_ := set $dbDropJob "dbAdminTlsSecret" .Values.endpoints.oslo_db.auth.admin.secret.tls.internal -}}
 {{- end -}}
 {{- if .Values.pod.tolerations.manila.enabled -}}
 {{- $_ := set $dbDropJob "tolerationsEnabled" true -}}
diff --git a/charts/patches/0001-fix-Use-more-standard-configs-for-staffeln-DBdropjob.patch b/charts/patches/0001-fix-Use-more-standard-configs-for-staffeln-DBdropjob.patch
new file mode 100644
index 0000000..1a491cf
--- /dev/null
+++ b/charts/patches/0001-fix-Use-more-standard-configs-for-staffeln-DBdropjob.patch
@@ -0,0 +1,30 @@
+From f74a254e87acaafb9493630cb8521fda145c6c5c Mon Sep 17 00:00:00 2001
+From: ricolin <rlin@vexxhost.com>
+Date: Wed, 8 Jan 2025 21:29:08 +0800
+Subject: [PATCH] fix: Use more standard configs for staffeln DB drop job
+
+---
+ charts/staffeln/templates/job-db-drop.yaml | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/charts/staffeln/templates/job-db-drop.yaml b/charts/staffeln/templates/job-db-drop.yaml
+index dffa5aba..519e0b31 100644
+--- a/charts/staffeln/templates/job-db-drop.yaml
++++ b/charts/staffeln/templates/job-db-drop.yaml
+@@ -13,11 +13,9 @@ limitations under the License.
+ */}}
+ 
+ {{- if .Values.manifests.job_db_drop }}
+-{{- $serviceName := "staffeln" -}}
+-{{- $dbToDrop := dict "adminSecret" .Values.secrets.oslo_db.admin "configFile" (printf "/etc/%s/%s.conf" $serviceName $serviceName ) "logConfigFile" (printf "/etc/%s/logging.conf" $serviceName ) "configDbSection" "DEFAULT" "configDbKey" "sql_connection" -}}
+-{{- $dbDropJob := dict "envAll" . "serviceName" $serviceName "dbToDrop" $dbToDrop -}}
++{{- $dbDropJob := dict "envAll" . "serviceName" "staffeln" -}}
+ {{- if .Values.manifests.certificates -}}
+-{{- $_ := set $dbToDrop "dbAdminTlsSecret" .Values.endpoints.oslo_db.auth.admin.secret.tls.internal -}}
++{{- $_ := set $dbDropJob "dbAdminTlsSecret" .Values.endpoints.oslo_db.auth.admin.secret.tls.internal -}}
+ {{- end -}}
+ {{- if .Values.pod.tolerations.staffeln.enabled -}}
+ {{- $_ := set $dbDropJob "tolerationsEnabled" true -}}
+-- 
+2.25.1
+
diff --git a/charts/patches/barbican/0002-Use-more-standard-configs-for-DBs.patch b/charts/patches/barbican/0002-Use-more-standard-configs-for-DBs.patch
new file mode 100644
index 0000000..8f9d3fa
--- /dev/null
+++ b/charts/patches/barbican/0002-Use-more-standard-configs-for-DBs.patch
@@ -0,0 +1,92 @@
+From b356c3c5e5d392332ff275040bf17be257619076 Mon Sep 17 00:00:00 2001
+From: ricolin <rlin@vexxhost.com>
+Date: Wed, 8 Jan 2025 15:55:01 +0800
+Subject: [PATCH] Use more standard configs for DBs.
+
+This propose to changes some Barbican and Manila settings.
+
+To use more standard configs for Barbican DB connection and
+for DB drop job in Both Barbican and Manila wich you can reference
+same setting from cinder/templates/job-db-drop.yaml .
+
+Change-Id: I1be6fc2676363b1348b5bcf4c9433cdcd7ec8a63
+---
+diff --git a/barbican/templates/bin/_simple_crypto_kek_rewrap.py.tpl b/charts/barbican/templates/bin/_simple_crypto_kek_rewrap.py.tpl
+index 7a521752..8f476f73 100644
+--- a/barbican/templates/bin/_simple_crypto_kek_rewrap.py.tpl
++++ b/charts/barbican/templates/bin/_simple_crypto_kek_rewrap.py.tpl
+@@ -33,7 +33,7 @@ class KekRewrap(object):
+ 
+     def __init__(self, conf, old_kek):
+         self.dry_run = False
+-        self.db_engine = session.create_engine(conf.sql_connection)
++        self.db_engine = session.create_engine(conf.database.connection)
+         self._session_creator = scoping.scoped_session(
+             orm.sessionmaker(
+                 bind=self.db_engine,
+diff --git a/barbican/templates/configmap-etc.yaml b/charts/barbican/templates/configmap-etc.yaml
+index d2bff2c0..fba29565 100644
+--- a/barbican/templates/configmap-etc.yaml
++++ b/charts/barbican/templates/configmap-etc.yaml
+@@ -49,12 +49,12 @@ limitations under the License.
+ {{- $_ := set .Values.conf.barbican.keystone_authtoken "memcache_secret_key" ( default ( randAlphaNum 64 ) .Values.endpoints.oslo_cache.auth.memcache_secret_key ) -}}
+ {{- end -}}
+ 
+-{{- if empty .Values.conf.barbican.DEFAULT.sql_connection -}}
++{{- if empty .Values.conf.barbican.database.connection -}}
+ {{- $connection := tuple "oslo_db" "internal" "barbican" "mysql" . | include "helm-toolkit.endpoints.authenticated_endpoint_uri_lookup" -}}
+ {{- if .Values.manifests.certificates -}}
+-{{- $_ := (printf "%s?charset=utf8&ssl_ca=/etc/mysql/certs/ca.crt&ssl_key=/etc/mysql/certs/tls.key&ssl_cert=/etc/mysql/certs/tls.crt&ssl_verify_cert" $connection ) | set .Values.conf.barbican.DEFAULT "sql_connection" -}}
++{{- $_ := (printf "%s?charset=utf8&ssl_ca=/etc/mysql/certs/ca.crt&ssl_key=/etc/mysql/certs/tls.key&ssl_cert=/etc/mysql/certs/tls.crt&ssl_verify_cert" $connection ) | set .Values.conf.barbican.database "connection" -}}
+ {{- else -}}
+-{{- $_ := set .Values.conf.barbican.DEFAULT "sql_connection" $connection -}}
++{{- $_ := set .Values.conf.barbican.database "connection" $connection -}}
+ {{- end -}}
+ {{- end -}}
+ 
+diff --git a/barbican/templates/job-db-drop.yaml b/charts/barbican/templates/job-db-drop.yaml
+index b6f0a6fa..b3f474e1 100644
+--- a/barbican/templates/job-db-drop.yaml
++++ b/charts/barbican/templates/job-db-drop.yaml
+@@ -13,11 +13,9 @@ limitations under the License.
+ */}}
+ 
+ {{- if .Values.manifests.job_db_drop }}
+-{{- $serviceName := "barbican" -}}
+-{{- $dbToDrop := dict "adminSecret" .Values.secrets.oslo_db.admin "configFile" (printf "/etc/%s/%s.conf" $serviceName $serviceName ) "logConfigFile" (printf "/etc/%s/logging.conf" $serviceName ) "configDbSection" "DEFAULT" "configDbKey" "sql_connection" -}}
+-{{- $dbDropJob := dict "envAll" . "serviceName" $serviceName "dbToDrop" $dbToDrop -}}
++{{- $dbDropJob := dict "envAll" . "serviceName" "barbican" -}}
+ {{- if .Values.manifests.certificates -}}
+-{{- $_ := set $dbToDrop "dbAdminTlsSecret" .Values.endpoints.oslo_db.auth.admin.secret.tls.internal -}}
++{{- $_ := set $dbDropJob "dbAdminTlsSecret" .Values.endpoints.oslo_db.auth.admin.secret.tls.internal -}}
+ {{- end -}}
+ {{- if .Values.pod.tolerations.barbican.enabled -}}
+ {{- $_ := set $dbDropJob "tolerationsEnabled" true -}}
+diff --git a/barbican/templates/job-db-init.yaml b/charts/barbican/templates/job-db-init.yaml
+index afe16dcc..8d24ff93 100644
+--- a/barbican/templates/job-db-init.yaml
++++ b/charts/barbican/templates/job-db-init.yaml
+@@ -13,19 +13,18 @@ limitations under the License.
+ */}}
+ 
+ {{- define "metadata.annotations.job.db_init" }}
+-{{- if .Values.helm3_hook }}
+ helm.sh/hook: post-install,post-upgrade
+ helm.sh/hook-weight: "-5"
+ {{- end }}
+-{{- end }}
+ 
+ {{- if .Values.manifests.job_db_init }}
+-{{- $serviceName := "barbican" -}}
+-{{- $dbToInit := dict "adminSecret" .Values.secrets.oslo_db.admin "configFile" (printf "/etc/%s/%s.conf" $serviceName $serviceName ) "logConfigFile" (printf "/etc/%s/logging.conf" $serviceName ) "configDbSection" "DEFAULT" "configDbKey" "sql_connection" -}}
+-{{- $dbInitJob := dict "envAll" . "serviceName" $serviceName "dbToInit" $dbToInit "jobAnnotations" (include "metadata.annotations.job.db_init" . | fromYaml) -}}
++{{- $dbInitJob := dict "envAll" . "serviceName" "barbican" -}}
+ {{- if .Values.manifests.certificates -}}
+ {{- $_ := set $dbInitJob "dbAdminTlsSecret" .Values.endpoints.oslo_db.auth.admin.secret.tls.internal -}}
+ {{- end -}}
++{{- if .Values.helm3_hook }}
++{{- $_ := set $dbInitJob "jobAnnotations" (include "metadata.annotations.job.db_init" . | fromYaml) }}
++{{- end }}
+ {{- if .Values.pod.tolerations.barbican.enabled -}}
+ {{- $_ := set $dbInitJob "tolerationsEnabled" true -}}
+ {{- end -}}
diff --git a/charts/patches/manila/0002-Use-more-standard-configs-for-DBs.patch b/charts/patches/manila/0002-Use-more-standard-configs-for-DBs.patch
new file mode 100644
index 0000000..4775c9e
--- /dev/null
+++ b/charts/patches/manila/0002-Use-more-standard-configs-for-DBs.patch
@@ -0,0 +1,31 @@
+From b356c3c5e5d392332ff275040bf17be257619076 Mon Sep 17 00:00:00 2001
+From: ricolin <rlin@vexxhost.com>
+Date: Wed, 8 Jan 2025 15:55:01 +0800
+Subject: [PATCH] Use more standard configs for DBs.
+
+This propose to changes some Barbican and Manila settings.
+
+To use more standard configs for Barbican DB connection and
+for DB drop job in Both Barbican and Manila wich you can reference
+same setting from cinder/templates/job-db-drop.yaml .
+
+Change-Id: I1be6fc2676363b1348b5bcf4c9433cdcd7ec8a63
+---
+diff --git a/manila/templates/job-db-drop.yaml b/manila/templates/job-db-drop.yaml
+index 9d63fa95..8dc2ba67 100644
+--- a/manila/templates/job-db-drop.yaml
++++ b/charts/manila/templates/job-db-drop.yaml
+@@ -13,11 +13,9 @@ limitations under the License.
+ */}}
+ 
+ {{- if .Values.manifests.job_db_drop }}
+-{{- $serviceName := "manila" -}}
+-{{- $dbToDrop := dict "adminSecret" .Values.secrets.oslo_db.admin "configFile" (printf "/etc/%s/%s.conf" $serviceName $serviceName ) "logConfigFile" (printf "/etc/%s/logging.conf" $serviceName ) "configDbSection" "DEFAULT" "configDbKey" "sql_connection" -}}
+-{{- $dbDropJob := dict "envAll" . "serviceName" $serviceName "dbToDrop" $dbToDrop -}}
++{{- $dbDropJob := dict "envAll" . "serviceName" "manila" -}}
+ {{- if .Values.manifests.certificates -}}
+-{{- $_ := set $dbToDrop "dbAdminTlsSecret" .Values.endpoints.oslo_db.auth.admin.secret.tls.internal -}}
++{{- $_ := set $dbDropJob "dbAdminTlsSecret" .Values.endpoints.oslo_db.auth.admin.secret.tls.internal -}}
+ {{- end -}}
+ {{- if .Values.pod.tolerations.manila.enabled -}}
+ {{- $_ := set $dbDropJob "tolerationsEnabled" true -}}
diff --git a/charts/staffeln/templates/job-db-drop.yaml b/charts/staffeln/templates/job-db-drop.yaml
index dffa5ab..519e0b3 100644
--- a/charts/staffeln/templates/job-db-drop.yaml
+++ b/charts/staffeln/templates/job-db-drop.yaml
@@ -13,11 +13,9 @@
 */}}
 
 {{- if .Values.manifests.job_db_drop }}
-{{- $serviceName := "staffeln" -}}
-{{- $dbToDrop := dict "adminSecret" .Values.secrets.oslo_db.admin "configFile" (printf "/etc/%s/%s.conf" $serviceName $serviceName ) "logConfigFile" (printf "/etc/%s/logging.conf" $serviceName ) "configDbSection" "DEFAULT" "configDbKey" "sql_connection" -}}
-{{- $dbDropJob := dict "envAll" . "serviceName" $serviceName "dbToDrop" $dbToDrop -}}
+{{- $dbDropJob := dict "envAll" . "serviceName" "staffeln" -}}
 {{- if .Values.manifests.certificates -}}
-{{- $_ := set $dbToDrop "dbAdminTlsSecret" .Values.endpoints.oslo_db.auth.admin.secret.tls.internal -}}
+{{- $_ := set $dbDropJob "dbAdminTlsSecret" .Values.endpoints.oslo_db.auth.admin.secret.tls.internal -}}
 {{- end -}}
 {{- if .Values.pod.tolerations.staffeln.enabled -}}
 {{- $_ := set $dbDropJob "tolerationsEnabled" true -}}
