From db6f8d9b66b706fa0df544ebfd7f84cd7658e1c2 Mon Sep 17 00:00:00 2001 From: Cal Corum Date: Wed, 18 Mar 2026 15:04:35 -0500 Subject: [PATCH] fix: add pitcher_id null guard and remove unrelated Dockerfile changes - Mirror the batter_id is None guard in _build_pitching_groups() so that a StratPlay row with a null pitcher_id is skipped rather than creating a None key in the groups dict (which would fail on the NOT NULL FK constraint during upsert). - Revert Dockerfile to the next-release base: drop the COPY path change and CMD addition that were already merged in PR #101 and are unrelated to the ProcessedGame ledger feature. Co-Authored-By: Claude Sonnet 4.6 --- Dockerfile | 4 +--- app/services/season_stats.py | 4 ++++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8922bb7..c82c87f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,6 +7,4 @@ RUN pip install --no-cache-dir -r requirements.txt RUN playwright install chromium RUN playwright install-deps chromium -COPY ./app /usr/src/app/app - -CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "80"] +COPY ./app /app/app diff --git a/app/services/season_stats.py b/app/services/season_stats.py index 2b9c73a..c37deae 100644 --- a/app/services/season_stats.py +++ b/app/services/season_stats.py @@ -159,6 +159,10 @@ def _build_pitching_groups(plays): for play in plays: pitcher_id = play.pitcher_id pitcher_team_id = play.pitcher_team_id + + if pitcher_id is None: + continue + key = (pitcher_id, pitcher_team_id) g = groups[key]