Release v2.15.3
fix(pi): recover cash-register orders from stuck pickup-counter schema
Summary
- Cash-register order submit 500s on Pis stuck at Alembic
006_cash_session_uuidbecauseevent_pickup_counters.station_uuidwas never added (waiter orders still work). - Make migrations
006–010idempotent so upgrade can pass columns/tables already applied via runtime patches. - Add
apply_pickup_counter_schema_patches()so startup rebuilds the composite PK even if Alembic was previously blocked.
Test plan
-
cd pi/backend && uv run pytest tests/test_pickup_counter_schema_drift.py -v -
cd pi/backend && uv run pytest tests/ -q -
./scripts/lint.sh --staged - After merge/OTA: restart Pi backend, confirm Alembic reaches
010_pickup_counter_station(or patch applies), submit a cash-register order successfully