echo" MySQL not ready... (attempt ${ATTEMPT}/${MAX_ATTEMPTS})"
fi
sleep 2
sleep 2
done
done
if[$ATTEMPT-ge$MAX_ATTEMPTS];then
echo"[INIT] MySQL is available."
echo"❌ FATAL: Could not connect to MySQL after ${MAX_ATTEMPTS} attempts"
echo" Starting Apache anyway..."
exec"$@"
fi
# ─── Helper functions ───
run_mysql(){
mysql -h"${DB_HOST}"-P"${DB_PORT}"-u"${DB_USER}"-p"${DB_PASS}"${MYSQL_FLAGS}"$@" 2>&1
}
run_mysql_silent(){
mysql -h"${DB_HOST}"-P"${DB_PORT}"-u"${DB_USER}"-p"${DB_PASS}"${MYSQL_FLAGS}-N"$@" 2>/dev/null
}
# ─── Create Database ───
echo""
echo"Ensuring database '${DB_NAME}' exists..."
run_mysql -e"CREATE DATABASE IF NOT EXISTS \`${DB_NAME}\` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
echo"✅ Database ensured."
# ─── Run Schema ───
# ─── Run Schema ───
TABLE_COUNT=$(run_mysql_silent -e"SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA='${DB_NAME}' AND TABLE_TYPE='BASE TABLE';"||echo"0")
DB_NAME="${DB_NAME:-al_arcade_hr}"
DB_EXISTS=$(mysql -h"${DB_HOST:-srv-captain--mysql-db}"-P"${DB_PORT:-3306}"-u"${DB_USER:-root}"-p"${DB_PASS:-Alarcade123#}"-se"SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA='${DB_NAME}'" 2>/dev/null ||echo"0")
echo"Current table count: ${TABLE_COUNT}"
if["$DB_EXISTS"="0"]||[-z"$DB_EXISTS"];then
echo"[INIT] Database empty or not found. Running schema..."
mysql -h"${DB_HOST:-srv-captain--mysql-db}"-P"${DB_PORT:-3306}"-u"${DB_USER:-root}"-p"${DB_PASS:-Alarcade123#}" < /var/www/html/database/schema.sql 2>&1 ||echo"[WARN] Schema import had warnings"
echo"[INIT] Schema imported."
if["${TABLE_COUNT}"-lt"70"] 2>/dev/null;then
# Seed data
echo"Running schema migration (expected 73 tables, found ${TABLE_COUNT})..."
if[-f /var/www/html/database/seed.sql ];then
echo"[INIT] Running seed SQL..."
SCHEMA_FILE=""
mysql -h"${DB_HOST:-srv-captain--mysql-db}"-P"${DB_PORT:-3306}"-u"${DB_USER:-root}"-p"${DB_PASS:-Alarcade123#}""${DB_NAME}" < /var/www/html/database/seed.sql 2>&1 ||echo"[WARN] Seed had warnings"
for path in"/var/www/html/database/schema.sql""/var/www/html/public/../database/schema.sql";do
if[-f"$path"];then
SCHEMA_FILE="$path"
break
fi
fi
done
if[-n"${SCHEMA_FILE}"];then
# Run PHP seed
echo"Found schema at: ${SCHEMA_FILE}"
if[-f /var/www/html/cli/seed.php ];then
run_mysql "${DB_NAME}" < "${SCHEMA_FILE}"
echo"[INIT] Running PHP seed..."
echo"✅ Schema applied."
php /var/www/html/cli/seed.php 2>&1 ||echo"[WARN] PHP seed had errors"
NEW_COUNT=$(run_mysql_silent -e"SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA='${DB_NAME}' AND TABLE_TYPE='BASE TABLE';"||echo"0")
echo"Tables after migration: ${NEW_COUNT}"
else
echo"❌ schema.sql not found!"
echo" Files in /var/www/html/database/:"
ls-la /var/www/html/database/ 2>/dev/null ||echo" (directory does not exist)"