echo" MySQL not ready... (attempt ${ATTEMPT}/${MAX_ATTEMPTS})"
fi
sleep 2
sleep 2
done
done
echo"MySQL is up."
# Create database if it doesn't exist
if[$ATTEMPT-ge$MAX_ATTEMPTS];then
echo"Ensuring database exists..."
echo""
mysql -h"$DB_HOST"-P"$DB_PORT"-u"$DB_USER"-p"$DB_PASS"-e"CREATE DATABASE IF NOT EXISTS \`${DB_NAME}\` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;" 2>/dev/null ||true
echo"Starting Apache anyway (app will show DB errors)..."
exec"$@"
exit 0
fi
# ─── Create Database if not exists ───
echo""
echo"Ensuring database '${DB_NAME}' exists..."
mysql -h"${DB_HOST}"-P"${DB_PORT}"-u"${DB_USER}"-p"${DB_PASS}"-e"CREATE DATABASE IF NOT EXISTS \`${DB_NAME}\` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;" 2>/dev/null
echo"✅ Database ensured."
# ─── Run Schema if tables don't exist ───
TABLE_COUNT=$(mysql -h"${DB_HOST}"-P"${DB_PORT}"-u"${DB_USER}"-p"${DB_PASS}"-N-e"SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA='${DB_NAME}' AND TABLE_TYPE='BASE TABLE';" 2>/dev/null)
# Check table count
echo"Current table count: ${TABLE_COUNT}"
TABLE_COUNT=$(mysql -h"$DB_HOST"-P"$DB_PORT"-u"$DB_USER"-p"$DB_PASS"-N-e"SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA = '${DB_NAME}';" 2>/dev/null ||echo"0")
if["$TABLE_COUNT"-lt"70"];then
if["${TABLE_COUNT}"-lt"70"] 2>/dev/null;then
echo"Database has $TABLE_COUNT tables (need 73). Running schema..."
echo"Running schema migration (expected 73 tables, found ${TABLE_COUNT})..."
if[-f /var/www/html/database/schema.sql ];then
mysql -h"$DB_HOST"-P"$DB_PORT"-u"$DB_USER"-p"$DB_PASS" < /var/www/html/database/schema.sql 2>&1 &&echo"✅ Schema deployed."||echo"⚠️ Schema may already exist."
if[-f"/var/www/html/database/schema.sql"];then
mysql -h"${DB_HOST}"-P"${DB_PORT}"-u"${DB_USER}"-p"${DB_PASS}""${DB_NAME}" < /var/www/html/database/schema.sql 2>&1
echo"✅ Schema applied."
else
else
echo"❌ schema.sql not found!"
echo"⚠️ No schema.sql found at /var/www/html/database/schema.sql"
echo" Skipping schema creation."
fi
fi
echo"Running seed data..."
# Run seed data
if[-f /var/www/html/database/seed.sql ];then
if[-f"/var/www/html/database/seed.sql"];then
mysql -h"$DB_HOST"-P"$DB_PORT"-u"$DB_USER"-p"$DB_PASS""$DB_NAME" < /var/www/html/database/seed.sql 2>&1 &&echo"✅ Seed data applied."||echo"⚠️ Seed data may already exist."
echo"Running seed data..."
mysql -h"${DB_HOST}"-P"${DB_PORT}"-u"${DB_USER}"-p"${DB_PASS}""${DB_NAME}" < /var/www/html/database/seed.sql 2>&1
SA_EXISTS=$(mysql -h"${DB_HOST}"-P"${DB_PORT}"-u"${DB_USER}"-p"${DB_PASS}"-N-e"SELECT COUNT(*) FROM \`${DB_NAME}\`.users WHERE role='super_admin';" 2>/dev/null ||echo"0")
echo"Creating super admin..."
if["${SA_EXISTS}"="0"];then
php /var/www/html/cli/create-superadmin.php 2>&1 ||echo"⚠️ Super admin may already exist."