material_manage_system/entrypoint.sh

24 lines
729 B
Bash

#!/bin/sh
set -e
echo "Waiting for MySQL to be ready..."
until mysql --default-character-set=utf8mb4 -h db -uroot -pwmms1234 --silent 2>/dev/null; do
sleep 2
done
echo "MySQL is ready."
# Only run init scripts if they haven't been run yet
if [ ! -f /app/.init_done ]; then
echo "Running init scripts..."
for f in $(ls /docker-entrypoint-initdb.d/*.sql 2>/dev/null | sort); do
echo "Executing: $f"
mysql --default-character-set=utf8mb4 -h db -uroot -pwmms1234 wmms < "$f" && echo "OK: $(basename $f)" || { echo "FAILED: $(basename $f)"; cat /tmp/mysql_err.log 2>/dev/null; }
done
touch /app/.init_done
else
echo "Init already done, skipping."
fi
echo "Starting application..."
exec "$@"