feat: auto-run migrations via psql init container on scheduler startup
ci/woodpecker/push/woodpecker Pipeline failed
Build and Push / lint-and-test (push) Has been cancelled
Build and Push / build-services (map[cmd:python -m services.adapters.broker_adapter name:broker-adapter]) (push) Has been cancelled
Build and Push / build-services (map[cmd:python -m services.aggregation.worker name:aggregation]) (push) Has been cancelled
Build and Push / build-services (map[cmd:python -m services.extractor.worker name:extractor]) (push) Has been cancelled
Build and Push / build-services (map[cmd:python -m services.ingestion.worker name:ingestion]) (push) Has been cancelled
Build and Push / build-services (map[cmd:python -m services.lake_publisher.worker name:lake-publisher]) (push) Has been cancelled
Build and Push / build-services (map[cmd:python -m services.parser.worker name:parser]) (push) Has been cancelled
Build and Push / build-services (map[cmd:python -m services.recommendation.worker name:recommendation]) (push) Has been cancelled
Build and Push / build-services (map[cmd:python -m services.scheduler.app name:scheduler]) (push) Has been cancelled
Build and Push / build-services (map[cmd:uvicorn services.api.app:app --host 0.0.0.0 --port 8000 name:query-api]) (push) Has been cancelled
Build and Push / build-services (map[cmd:uvicorn services.risk.app:app --host 0.0.0.0 --port 8000 name:risk]) (push) Has been cancelled
Build and Push / build-services (map[cmd:uvicorn services.symbol_registry.app:app --host 0.0.0.0 --port 8000 name:symbol-registry]) (push) Has been cancelled
Build and Push / build-services (map[cmd:uvicorn services.trading.app:app --host 0.0.0.0 --port 8000 name:trading-engine]) (push) Has been cancelled
Build and Push / build-dashboard (push) Has been cancelled
Build and Push / build-superset (push) Has been cancelled
Build and Push / integration-test (push) Has been cancelled

This commit is contained in:
Celes Renata
2026-04-19 22:37:50 +00:00
parent 5c63264393
commit 021efba294
3 changed files with 49 additions and 4 deletions
+15 -4
View File
@@ -314,20 +314,31 @@ for db in stonks_beta stonks_paper; do
echo " ✓ Database $db exists"
done
# Run migrations on beta and paper databases
# Run migrations on all three databases (idempotent — IF NOT EXISTS in DDL)
REPO_ROOT="${SCRIPT_DIR}/../stonks-oracle"
if [ -d "$REPO_ROOT/infra/migrations" ]; then
for db in stonks_beta stonks_paper; do
for db in stonks stonks_beta stonks_paper; do
echo " Running migrations on $db..."
for migration in $(ls "$REPO_ROOT/infra/migrations/"*.sql 2>/dev/null | sort); do
kubectl exec -n postgresql-service "$PG_POD" -c postgres -- \
psql -U stonks -d "$db" -f - < "$migration" > /dev/null 2>&1 || true
kubectl exec -i -n postgresql-service "$PG_POD" -c postgres -- \
psql -U postgres -d "$db" < "$migration" > /dev/null 2>&1 || true
done
echo " ✓ Migrations applied to $db"
done
else
echo " ⚠ Migrations directory not found at $REPO_ROOT/infra/migrations — skipping"
fi
# Seed symbol registry data on all three databases
if [ -d "$REPO_ROOT/services/symbol_registry" ]; then
for db in stonks stonks_beta stonks_paper; do
echo " Seeding $db..."
POSTGRES_HOST=postgresql-rw.postgresql-service.svc.cluster.local \
POSTGRES_PASSWORD='St0nks0racl3!' POSTGRES_USER=stonks POSTGRES_DB="$db" \
python3 -m services.symbol_registry.seed 2>/dev/null || true
echo " ✓ Seed data applied to $db"
done
fi
echo ""
# -------------------------------------------------------