mirror of
https://github.com/uprightbass360/AzerothCore-RealmMaster.git
synced 2026-02-03 19:03:50 +00:00
module setup process
This commit is contained in:
@@ -34,6 +34,35 @@ Notes:
|
||||
EOF
|
||||
}
|
||||
|
||||
verify_databases_populated() {
|
||||
local mysql_host="${CONTAINER_MYSQL:-ac-mysql}"
|
||||
local mysql_port="${MYSQL_PORT:-3306}"
|
||||
local mysql_user="${MYSQL_USER:-root}"
|
||||
local mysql_pass="${MYSQL_ROOT_PASSWORD:-root}"
|
||||
local db_auth="${DB_AUTH_NAME:-acore_auth}"
|
||||
local db_world="${DB_WORLD_NAME:-acore_world}"
|
||||
local db_characters="${DB_CHARACTERS_NAME:-acore_characters}"
|
||||
|
||||
if ! command -v mysql >/dev/null 2>&1; then
|
||||
echo "⚠️ mysql client is not available to verify restoration status"
|
||||
return 1
|
||||
fi
|
||||
|
||||
local query="SELECT COUNT(*) FROM information_schema.tables WHERE table_schema IN ('$db_auth','$db_world','$db_characters');"
|
||||
local table_count
|
||||
if ! table_count=$(MYSQL_PWD="$mysql_pass" mysql -h "$mysql_host" -P "$mysql_port" -u "$mysql_user" -N -B -e "$query" 2>/dev/null); then
|
||||
echo "⚠️ Unable to query MySQL at ${mysql_host}:${mysql_port} to verify restoration status"
|
||||
return 1
|
||||
fi
|
||||
|
||||
if [ "${table_count:-0}" -gt 0 ]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
echo "⚠️ MySQL is reachable but no AzerothCore tables were found"
|
||||
return 1
|
||||
}
|
||||
|
||||
case "${1:-}" in
|
||||
-h|--help)
|
||||
print_help
|
||||
@@ -70,10 +99,17 @@ fi
|
||||
echo "🔍 Checking restoration status..."
|
||||
|
||||
if [ -f "$RESTORE_SUCCESS_MARKER" ]; then
|
||||
echo "✅ Backup restoration completed successfully"
|
||||
cat "$RESTORE_SUCCESS_MARKER" || true
|
||||
echo "🚫 Skipping database import - data already restored from backup"
|
||||
exit 0
|
||||
if verify_databases_populated; then
|
||||
echo "✅ Backup restoration completed successfully"
|
||||
cat "$RESTORE_SUCCESS_MARKER" || true
|
||||
echo "🚫 Skipping database import - data already restored from backup"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "⚠️ Restoration marker found, but databases are empty - forcing re-import"
|
||||
rm -f "$RESTORE_SUCCESS_MARKER" 2>/dev/null || true
|
||||
rm -f "$RESTORE_SUCCESS_MARKER_TMP" 2>/dev/null || true
|
||||
rm -f "$RESTORE_FAILED_MARKER" 2>/dev/null || true
|
||||
fi
|
||||
|
||||
if [ -f "$RESTORE_FAILED_MARKER" ]; then
|
||||
@@ -352,6 +388,15 @@ EOF
|
||||
# Verify and apply missing updates
|
||||
verify_and_update_restored_databases
|
||||
|
||||
if [ -x "/tmp/restore-and-stage.sh" ]; then
|
||||
echo "🔧 Running restore-time module SQL staging..."
|
||||
MODULES_DIR="/modules" \
|
||||
RESTORE_SOURCE_DIR="$backup_path" \
|
||||
/tmp/restore-and-stage.sh
|
||||
else
|
||||
echo "ℹ️ restore-and-stage helper not available; skipping automatic module SQL staging"
|
||||
fi
|
||||
|
||||
exit 0
|
||||
else
|
||||
echo "$(date): Backup restoration failed - proceeding with fresh setup" > "$RESTORE_FAILED_MARKER"
|
||||
|
||||
Reference in New Issue
Block a user