26 lines
567 B
Bash
Executable file
26 lines
567 B
Bash
Executable file
#!/usr/bin/env sh
|
|
|
|
check_db_connection() {
|
|
mysqladmin ping -h "${DB_HOST}" -u "${DB_USER}" -p"${DB_PASSWORD}" 2>/dev/null
|
|
}
|
|
|
|
wait_for_db() {
|
|
echo "Checking database connection..."
|
|
until check_db_connection; do
|
|
echo "Waiting for the database..."
|
|
sleep 1
|
|
done
|
|
echo "Database is ready!"
|
|
}
|
|
|
|
# Parse the DATABASE_URL into individual variables
|
|
DB_URL="${DATABASE_URL#*://}"
|
|
DB_USER="${DB_URL%%:*}"
|
|
DB_URL="${DB_URL#*:}"
|
|
DB_PASSWORD="${DB_URL%%@*}"
|
|
DB_HOST="${DB_URL#*@}"
|
|
DB_HOST="${DB_HOST%%/*}"
|
|
DB_NAME="${DB_URL#*/}"
|
|
|
|
wait_for_db
|
|
"$@"
|