34 lines
876 B
Bash
34 lines
876 B
Bash
#!/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}"
|