a58f42cf86
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
24 lines
978 B
Bash
Executable File
24 lines
978 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# E2E server: fresh ecomm_e2e database, LogMailer (codes land in .backend.log),
|
|
# backend on :8765 serving the built SPA (the deployed topology, SD-0001 §6.2).
|
|
set -euo pipefail
|
|
repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
|
|
if [ ! -f "$repo_root/frontend/dist/index.html" ]; then
|
|
( cd "$repo_root/frontend" && npm run build )
|
|
fi
|
|
|
|
"$repo_root/.venv/bin/python" - <<'PY'
|
|
import psycopg
|
|
admin = psycopg.connect("postgresql://ecomm:ecomm@localhost:5432/postgres", autocommit=True)
|
|
admin.execute("SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname='ecomm_e2e' AND pid <> pg_backend_pid()")
|
|
admin.execute("DROP DATABASE IF EXISTS ecomm_e2e")
|
|
admin.execute("CREATE DATABASE ecomm_e2e")
|
|
PY
|
|
|
|
export ECOMM_DATABASE_URL="postgresql://ecomm:ecomm@localhost:5432/ecomm_e2e"
|
|
export ECOMM_MAILER=log
|
|
cd "$repo_root/backend"
|
|
exec "$repo_root/.venv/bin/python" -m uvicorn app.main:app --port 8765 \
|
|
> "$repo_root/e2e/.backend.log" 2>&1
|