feat: add ProcessedGame ledger for full idempotency in update_season_stats() (#105) #106
@ -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
|
||||
|
|
||||
|
||||
@ -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
|
||||
|
||||
|
cal
commented
Missing
Missing `None` guard for `pitcher_id`. The batting path has `if batter_id is None: continue` but the pitching path does not. A play row with `pitcher_id=None` would create a `(None, pitcher_team_id)` key in `groups`, which will then be passed to the upsert function as `player_id=None` and fail when Peewee tries to set a NOT NULL FK column. Add the same guard:
```python
if pitcher_id is None:
continue
```
|
||||
key = (pitcher_id, pitcher_team_id)
|
||||
g = groups[key]
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user
The
COPYdestination is/app/appbut should be/usr/src/app/app(matchingWORKDIR /usr/src/app). Additionally, theCMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "80"]line is still missing. Both were present onnext-releaseand must be restored. Without the correct path and CMD, the container will fail to start.