Cal Corum
2c3835c8ac
Added SeasonPitchingStats
2025-08-26 00:17:57 -05:00
Cal Corum
8c492273dc
Postgres Query Updates
...
Fixing query errors caused by Postgres vs SQLite
2025-08-25 07:19:13 -05:00
Cal Corum
7130a1fd43
Postgres Migration
...
Migration documentation and scripts
2025-08-25 07:18:31 -05:00
Cal Corum
54a1a407d0
CLAUDE: Season batting stats table and selective update system
...
Major database enhancement implementing fast-querying season batting stats:
Database Schema:
- Created seasonbattingstats table with composite primary key (player_id, season)
- All batting stats (counting + calculated): pa, ab, avg, obp, slg, ops, woba, etc.
- Proper foreign key constraints and performance indexes
- Production-ready SQL creation script included
Selective Update System:
- update_season_batting_stats() function with PostgreSQL upsert logic
- Triggers on game PATCH operations to update affected player stats
- Recalculates complete season stats from stratplay data
- Efficient updates of only players who participated in modified games
API Enhancements:
- Enhanced SeasonBattingStats.get_top_hitters() with full filtering support
- New /api/v3/views/season-stats/batting/refresh endpoint for season rebuilds
- Updated views endpoint to use centralized get_top_hitters() method
- Support for team, player, min PA, and pagination filtering
Infrastructure:
- Production database sync Docker service with SSH automation
- Comprehensive error handling and logging throughout
- Fixed Peewee model to match actual table structure (no auto-id)
- Updated CLAUDE.md with dev server info and sync commands
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-23 22:18:27 -05:00
Cal Corum
c05d00d60e
DB Error Handling
...
Added error handling wrapper and fixed SQLite -> Postgres issues
2025-08-20 19:33:40 -05:00
Cal Corum
91ae5a972f
Local migration fully functional
2025-08-20 09:52:46 -05:00
Cal Corum
f49adf3c64
CLAUDE: Phase 2 PostgreSQL migration BREAKTHROUGH complete
...
🚀 MASSIVE SUCCESS: 77% of tables now migrating successfully!
Major Achievements:
- 23/30 tables successfully migrating (up from 7/30)
- ~373,000 records migrated (up from ~5,432)
- ALL schema compatibility issues resolved
- ALL NULL constraint issues resolved
Issues resolved in Phase 2:
- CONSTRAINT-CURRENT-BSTATCOUNT-001: Made nullable
- CONSTRAINT-CURRENT-PSTATCOUNT-001: Made nullable
- CONSTRAINT-TEAM-AUTO_DRAFT-001: Made nullable
- CONSTRAINT-CURRENT-BET_WEEK-001: Made nullable (bonus discovery)
- CONSTRAINT-TEAM-GMID-001: Made nullable (bonus discovery)
Major tables now working:
✅ current (11 records)
✅ team (546 records)
✅ player (12,232 records)
✅ battingstat (105,413 records)
✅ pitchingstat (35,281 records)
✅ stratgame (2,468 records)
✅ stratplay (192,790 records)
Remaining issues (7 tables): Foreign key dependencies and missing tables
Next: Phase 3 - Foreign key resolution for final 23% of tables
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-18 18:31:18 -05:00
Cal Corum
79a559088a
CLAUDE: Phase 1 PostgreSQL migration fixes complete
...
- Fixed 4 critical schema issues blocking migration
- Resolved integer overflow by converting Discord IDs to strings
- Fixed VARCHAR length limits for Google Photos URLs
- Made injury_count field nullable for NULL values
- Successfully migrating 7/30 tables (5,432+ records)
Issues resolved:
- CONSTRAINT-CURRENT-INJURY_COUNT-001: Made nullable
- DATA_QUALITY-PLAYER-NAME-001: Increased VARCHAR limits to 1000
- MIGRATION_LOGIC-TEAM-INTEGER-001: Discord IDs now strings
- MIGRATION_LOGIC-DRAFTDATA-INTEGER-001: Channel IDs now strings
New issues discovered for Phase 2:
- CONSTRAINT-CURRENT-BSTATCOUNT-001: NULL stats count
- CONSTRAINT-TEAM-AUTO_DRAFT-001: NULL auto draft flag
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-18 18:09:45 -05:00
Cal Corum
27369a92fb
Added custom_commands endpoint
2025-08-18 16:27:39 -05:00
Cal Corum
57c943e340
CLAUDE: Add custom commands system with migration from legacy database
...
- Add CustomCommandCreator and CustomCommand models to db_engine.py
- Add comprehensive custom commands API router with full CRUD operations
- Include migration script for transferring 140 commands from sba_is_fun.db
- Add FastAPI integration for /api/v3/custom_commands endpoints
- Implement usage tracking, search, autocomplete, and statistics features
- Add grace period handling for unused commands to prevent deletion
- Include comprehensive documentation for migration process
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-17 16:31:39 -05:00
Cal Corum
e85cac61df
Fix dupe check on sbaplayers
2025-06-11 00:33:09 -05:00
Cal Corum
1d652ee5fa
Added SbaPlayer table
2025-05-30 21:41:40 -05:00
Cal Corum
027b23655b
gitignore
2024-12-23 10:33:05 -06:00
Cal Corum
cd1321553e
Logging updates
2024-12-16 09:03:23 -06:00
Cal Corum
856f804b0e
Merge pull request #3 from calcorum/fix-pythag-record
...
Align home_score with runs_scored for pythag record
2024-11-16 11:49:43 -06:00
Peter
df73e49406
Improve alias naming
2024-11-16 09:12:30 -06:00
Peter
c5b546d0ed
Align home_score with runs_scored for pythag record
2024-11-15 16:52:29 -06:00
Cal Corum
ffb70f1633
Update stratplay.py
...
Fixed catcher stats in /fielding
2024-10-31 09:48:47 -05:00
Cal Corum
4e21e42b6d
Update stratplay.py
...
Fixed group_by not properly grouping SB/CS and decisions
2024-10-30 21:38:19 -05:00
Cal Corum
4380c26319
Add Swagger support
2024-07-14 13:23:37 -05:00
Cal Corum
a935688518
Update players.py
...
Migrate patch players to put and add new patch players endpoint
2024-07-03 11:19:39 -05:00
Cal Corum
0d13fc939f
Add s_type to /plays
2024-06-03 12:08:56 -05:00
Cal Corum
183e4bc91e
Season 8 Decision Fix
2024-01-29 00:03:49 -06:00
Cal Corum
59094fefe7
Update .gitignore
2024-01-28 15:13:04 -06:00
Cal Corum
1ef4974218
Update stratplay.py
...
Added re24 to /batting and /pitching pulls
2024-01-22 23:22:51 -06:00
Cal Corum
fae1439365
Season 9 Additions
2024-01-14 22:44:23 -06:00
Cal Corum
025445bb99
Parameter modernization
2023-12-21 00:09:44 -06:00
Cal Corum
1168d7abaa
Param updates to /plays
2023-12-04 13:38:53 -06:00
Cal Corum
342eb50362
Update stratplay.py
...
Add page_num param to play queries
2023-11-29 09:57:23 -06:00
Cal Corum
85b855492f
Update stratplay.py
...
Add pitcher_team_id to raw plays
2023-11-05 00:53:51 -05:00
Cal Corum
9f635630e5
Added error check for pitchers with 0 ABs
2023-10-14 23:44:31 -05:00
Cal Corum
523b0a760e
Add GHOST to position list
2023-10-04 23:25:25 -05:00
Cal Corum
c9655b8266
Added player_name param to /awards
2023-09-17 21:38:31 -05:00
Cal Corum
ff27abd408
Updated /plays/fielding
2023-09-17 11:47:45 -05:00
Cal Corum
b8c1096b86
Added play_num param to /plays
2023-09-16 18:36:50 -05:00
Cal Corum
1fa2a207ee
Update csv exports
2023-09-15 22:38:37 -05:00
Cal Corum
761a279fc8
Added complex_to_csv
2023-09-15 01:29:00 -05:00
Cal Corum
63641dafb3
Update db_engine.py
...
Handle count() == 0 bug
2023-09-15 00:36:22 -05:00
Cal Corum
5fae0a30df
Add query_to_csv
2023-09-15 00:03:23 -05:00
Cal Corum
bc37568c8e
Update stratplay.py
...
Fix SB stats in playergame group_by
2023-09-11 23:19:14 -05:00
Cal Corum
d8ef59dae0
Stat updates for website
2023-09-10 19:16:36 -05:00
Cal Corum
aa53c4072b
Update .gitignore
2023-09-07 13:15:06 -05:00
Cal Corum
5e773b3076
Update stratplay.py
...
Fixed woba bug with 1 PA & 1 IBB
2023-09-01 12:41:47 -05:00
Cal Corum
f9c578187e
Update stratplay.py
...
- Added hit param to /plays
- Added to /plays/batting and /plays/pitching:
-- "league" group_by option
-- inning param
-- rbi% output
2023-08-31 11:41:34 -05:00
Cal Corum
b3d2854210
Added left on base stats
2023-08-29 15:04:02 -05:00
Cal Corum
f6e9e6c7fd
Standings updates
...
Added /standings/team/{id} endpoint
Fixed pythag calculation
2023-08-24 14:29:07 -05:00
Cal Corum
5110d8b497
Fix WC GB bug
2023-08-23 11:25:11 -05:00
Cal Corum
280280855c
Update stratplay.py
...
- Added min_wpa and max_wpa to /plays and /plays/batting
- Added newest and oldest to sort options in /plays
- Added playergame and teamgame to group_by in /plays/batting and /plays/pitching
2023-08-22 16:35:59 -05:00
Cal Corum
211055d8b3
Update stratplay.py
...
added is_scoring_play
added _ to is_defender_or_catcher
2023-08-22 10:30:17 -05:00
Cal Corum
1b653943a5
Update rest_ip from int to float
2023-08-19 01:14:55 -05:00