diff --git a/deploy/crdb.sh b/deploy/crdb.sh
index 3e80b6350e66ec30a725c45acb7cf954ac3009c8..3fcbb5cfaa1cbfcfdef14e372a871a7dd545887b 100755
--- a/deploy/crdb.sh
+++ b/deploy/crdb.sh
@@ -154,8 +154,8 @@ function crdb_undeploy_single() {
     echo
 }
 
-function crdb_drop_database_single() {
-    echo "Drop database if exists"
+function crdb_drop_databases_single() {
+    echo "Drop TFS databases, if exist"
 
     if [[ -z "${GITLAB_CI}" ]]; then
         #kubectl --namespace ${CRDB_NAMESPACE} get service cockroachdb-public -o yaml
@@ -168,9 +168,20 @@ function crdb_drop_database_single() {
 
     CRDB_CLIENT_URL="postgresql://${CRDB_USERNAME}:${CRDB_PASSWORD}@${CRDB_HOST}:${CRDB_PORT}/defaultdb?sslmode=require"
     echo "CRDB_CLIENT_URL=${CRDB_CLIENT_URL}"
-    kubectl exec -i --namespace ${CRDB_NAMESPACE} cockroachdb-0 -- \
-        ./cockroach sql --certs-dir=/cockroach/cockroach-certs --url=${CRDB_CLIENT_URL} \
-        --execute "DROP DATABASE IF EXISTS ${CRDB_DATABASE};"
+
+    DATABASES=$(
+        kubectl exec -i --namespace ${CRDB_NAMESPACE} cockroachdb-0 -- \
+            ./cockroach sql --certs-dir=/cockroach/cockroach-certs --url=${CRDB_CLIENT_URL} \
+            --execute "SHOW DATABASES;" --format=tsv | awk '{print $1}' | grep "^tfs"
+    )
+    echo "Found TFS databases: ${DATABASES}" | tr '\n' ' '
+
+    for DB_NAME in $DATABASES; do
+        echo "Dropping TFS database: $DB_NAME"
+        kubectl exec -i --namespace ${CRDB_NAMESPACE} cockroachdb-0 -- \
+            ./cockroach sql --certs-dir=/cockroach/cockroach-certs --url=${CRDB_CLIENT_URL} \
+            --execute="DROP DATABASE IF EXISTS $DB_NAME CASCADE;"
+    done
     echo
 }
 
@@ -349,11 +360,22 @@ function crdb_undeploy_cluster() {
     echo
 }
 
-function crdb_drop_database_cluster() {
-    echo "Drop database if exists"
-    kubectl exec -i --namespace ${CRDB_NAMESPACE} cockroachdb-client-secure -- \
-        ./cockroach sql --certs-dir=/cockroach/cockroach-certs --host=cockroachdb-public --execute \
-        "DROP DATABASE IF EXISTS ${CRDB_DATABASE};"
+function crdb_drop_databases_cluster() {
+    echo "Drop TFS databases, if exist"
+
+    DATABASES=$(
+        kubectl exec -i --namespace ${CRDB_NAMESPACE} cockroachdb-client-secure -- \
+            ./cockroach sql --certs-dir=/cockroach/cockroach-certs --host=cockroachdb-public \
+            --execute "SHOW DATABASES;" --format=tsv | awk '{print $1}' | grep "^tfs"
+    )
+    echo "Found TFS databases: ${DATABASES}" | tr '\n' ' '
+
+    for DB_NAME in $DATABASES; do
+        echo "Dropping TFS database: $DB_NAME"
+        kubectl exec -i --namespace ${CRDB_NAMESPACE} cockroachdb-client-secure -- \
+            ./cockroach sql --certs-dir=/cockroach/cockroach-certs --host=cockroachdb-public \
+            --execute="DROP DATABASE IF EXISTS $DB_NAME CASCADE;"
+    done
     echo
 }
 
@@ -365,7 +387,7 @@ if [ "$CRDB_DEPLOY_MODE" == "single" ]; then
     crdb_deploy_single
 
     if [ "$CRDB_DROP_DATABASE_IF_EXISTS" == "YES" ]; then
-        crdb_drop_database_single
+        crdb_drop_databases_single
     fi
 elif [ "$CRDB_DEPLOY_MODE" == "cluster" ]; then
     if [ "$CRDB_REDEPLOY" == "YES" ]; then
@@ -375,7 +397,7 @@ elif [ "$CRDB_DEPLOY_MODE" == "cluster" ]; then
     crdb_deploy_cluster
 
     if [ "$CRDB_DROP_DATABASE_IF_EXISTS" == "YES" ]; then
-        crdb_drop_database_cluster
+        crdb_drop_databases_cluster
     fi
 else
     echo "Unsupported value: CRDB_DEPLOY_MODE=$CRDB_DEPLOY_MODE"