#!/bin/sh set -e # Load secrets into environment source /abra-entrypoint.sh -e # Wait for database to be ready (up to 30 seconds) i=0 while ! python manage.py check --database default 2>/dev/null; do i=$((i+1)) if [ "$i" -ge 30 ]; then echo "migrate: timed out waiting for database" >&2 exit 1 fi sleep 1 done # Idempotent: skip if no pending migrations if python manage.py migrate --check > /dev/null 2>&1; then echo "migrate: no pending migrations, skipping" exit 0 fi echo "migrate: applying pending migrations..." python manage.py migrate --noinput echo "migrate: done"