#!/usr/bin/env sh set -eu python - <<'PY' import os import time import psycopg db = os.environ["DATA_SCIENCE_DEV_DB"] host = os.environ["DATA_SCIENCE_DEV_HOST"] port = os.environ["DATA_SCIENCE_DEV_PORT"] user = os.environ["DATA_SCIENCE_DEV_USER"] password = os.environ.get("DATA_SCIENCE_DEV_PASSWORD", "") dsn = f"dbname={db} host={host} port={port} user={user} password={password}" for attempt in range(60): try: with psycopg.connect(dsn) as conn: with conn.cursor() as cur: cur.execute("CREATE SCHEMA IF NOT EXISTS main") conn.commit() break except psycopg.OperationalError: if attempt == 59: raise time.sleep(1) PY python /app/database_cli.py data_science_dev upgrade head exec uvicorn pipelines.web.main:app --host "${UVICORN_HOST:-0.0.0.0}" --port "${UVICORN_PORT:-8000}"