diff --git a/docker/backend.entrypoint.sh b/docker/backend.entrypoint.sh index eab4441e..dc9b32b3 100755 --- a/docker/backend.entrypoint.sh +++ b/docker/backend.entrypoint.sh @@ -152,18 +152,19 @@ install_certificates install_playwright # Check DB state: empty, legacy (tables exist but no alembic), or managed +# || prevents set -e from killing the script on non-zero exit from detection script +_db_state=0 python3 -c " import os from sqlalchemy import create_engine, inspect e = create_engine(os.environ['DATABASE_URL']) insp = inspect(e) if 'alembic_version' in insp.get_table_names(): - exit(0) # managed → normal upgrade + exit(0) if not insp.get_table_names(): - exit(1) # empty → fresh upgrade -exit(2) # legacy → stamp head -" 2>/dev/null -_db_state=$? + exit(1) +exit(2) +" 2>&1 || _db_state=$? if [ $_db_state -eq 0 ]; then echo "[entrypoint] Running Alembic migrations (incremental)..."