strat-gameplay-webapp/backend/app
Cal Corum 8f67883be1 CLAUDE: Implement polymorphic Lineup model for PD and SBA leagues
Updated Lineup model to support both leagues using the same pattern as RosterLink:
- Made card_id nullable (PD league)
- Added player_id nullable (SBA league)
- Added XOR CHECK constraint to ensure exactly one ID is populated
- Created league-specific methods: add_pd_lineup_card() and add_sba_lineup_player()
- Replaced generic create_lineup_entry() with league-specific methods

Database migration applied to convert existing schema.

Bonus fix: Resolved Pendulum DateTime + asyncpg timezone compatibility issue
by using .naive() on all DateTime defaults in Game, Play, and GameSession models.

Updated tests to use league-specific lineup methods.
Archived migration docs and script to .claude/archive/ for reference.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-23 08:35:24 -05:00
..
api CLAUDE: Complete Phase 1 backend infrastructure setup 2025-10-21 19:46:16 -05:00
core CLAUDE: Complete Week 4 - State Management & Persistence 2025-10-22 12:01:03 -05:00
database CLAUDE: Implement polymorphic Lineup model for PD and SBA leagues 2025-10-23 08:35:24 -05:00
models CLAUDE: Implement polymorphic Lineup model for PD and SBA leagues 2025-10-23 08:35:24 -05:00
utils CLAUDE: Complete Phase 1 backend infrastructure setup 2025-10-21 19:46:16 -05:00
websocket CLAUDE: Complete Phase 1 backend infrastructure setup 2025-10-21 19:46:16 -05:00
__init__.py CLAUDE: Complete Phase 1 backend infrastructure setup 2025-10-21 19:46:16 -05:00
config.py CLAUDE: Complete Phase 1 backend infrastructure setup 2025-10-21 19:46:16 -05:00
main.py CLAUDE: Complete Phase 1 backend infrastructure setup 2025-10-21 19:46:16 -05:00