28 lines
771 B
Bash
Executable File
28 lines
771 B
Bash
Executable File
#!/usr/bin/env bash
|
||
set -euo pipefail
|
||
|
||
ROOT="services/profiles/src/app"
|
||
mkdir -p "$ROOT/db"
|
||
|
||
# __init__.py чтобы пакет точно импортировался
|
||
[[ -f "$ROOT/__init__.py" ]] || echo "# app package" > "$ROOT/__init__.py"
|
||
[[ -f "$ROOT/db/__init__.py" ]] || echo "# db package" > "$ROOT/db/__init__.py"
|
||
|
||
# deps.py с get_db()
|
||
cat > "$ROOT/db/deps.py" <<'PY'
|
||
from typing import Generator
|
||
from sqlalchemy.orm import Session
|
||
from app.db.session import SessionLocal # должен существовать в проекте
|
||
|
||
def get_db() -> Generator[Session, None, None]:
|
||
db = SessionLocal()
|
||
try:
|
||
yield db
|
||
finally:
|
||
db.close()
|
||
PY
|
||
|
||
echo "[profiles] rebuilding..."
|
||
docker compose build profiles
|
||
docker compose restart profiles
|