From 1299c854096c13a5cf7e06d80a3c6dc41859ae6b Mon Sep 17 00:00:00 2001 From: sindoring Date: Sun, 26 Apr 2026 19:28:49 +0400 Subject: [PATCH] fix --- scripts/db-backup.sh | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/scripts/db-backup.sh b/scripts/db-backup.sh index 17c9a17..17effd4 100755 --- a/scripts/db-backup.sh +++ b/scripts/db-backup.sh @@ -66,6 +66,9 @@ env_get() { load_target() { local target="$1" + DB_DOCKER_SERVICE="" + DB_DOCKER_PORT="" + case "$target" in app) DB_HOST="$(env_get DB_HOST "$ENV_FILE")" @@ -73,6 +76,10 @@ load_target() { DB_NAME="$(env_get DB_DATABASE "$ENV_FILE")" DB_USER="$(env_get DB_USERNAME "$ENV_FILE")" DB_PASS="$(env_get DB_PASSWORD "$ENV_FILE")" + if [[ "$DB_HOST" == "mysql" ]]; then + DB_DOCKER_SERVICE="mysql" + DB_DOCKER_PORT="${DB_PORT:-3306}" + fi ;; auth) DB_HOST="$(env_get AZEROTHCORE_AUTH_DB_HOST "$ENV_FILE")" @@ -140,6 +147,23 @@ run_mysql_tool() { require_cmd docker + if [[ -n "${DB_DOCKER_SERVICE:-}" ]]; then + local pwd_value="" + if [[ -n "${DB_PASS:-}" && "$DB_PASS" != "null" ]]; then + pwd_value="$DB_PASS" + fi + + docker compose exec -T \ + -e MYSQL_PWD="$pwd_value" \ + "$DB_DOCKER_SERVICE" \ + "$tool" \ + -h127.0.0.1 \ + -P"${DB_DOCKER_PORT:-3306}" \ + -u"$DB_USER" \ + "$@" + return + fi + local target_host="$DB_HOST" if [[ "$target_host" == "127.0.0.1" || "$target_host" == "localhost" ]]; then target_host="host.docker.internal"