#!/bin/sh
set -e

if [ "${DB_ENGINE:-django.db.backends.mysql}" = "django.db.backends.mysql" ]; then
  python - <<'PY'
import os
import sys
import time
import pymysql

host = os.getenv("DB_HOST", "db")
port = int(os.getenv("DB_PORT", "3306"))
user = os.getenv("DB_USER", "amwal_user")
password = os.getenv("DB_PASSWORD", "amwal_password")
database = os.getenv("DB_NAME", "amwal")

for attempt in range(1, 61):
    try:
        conn = pymysql.connect(
            host=host,
            port=port,
            user=user,
            password=password,
            database=database,
            connect_timeout=5,
        )
        conn.close()
        print("MySQL is ready.")
        break
    except Exception as exc:
        print(f"Waiting for MySQL ({attempt}/60): {exc}")
        time.sleep(2)
else:
    sys.exit("MySQL did not become ready in time.")
PY
fi

python manage.py migrate --noinput

if [ "${DJANGO_CREATE_INITIAL_DATA:-0}" = "1" ]; then
  python manage.py create_initial_data
fi

python manage.py collectstatic --noinput

exec "$@"
