This release adds comprehensive metadata support and fixes the duplicate
performer issue.
MAJOR FIXES:
✅ Duplicate Prevention
- Added UNIQUE(source, source_id) constraint to performers table
- ON CONFLICT DO UPDATE in performer store
- No more duplicate Riley Reid entries!
✅ Comprehensive TPDB Metadata
- Extended Performer model with ALL TPDB fields
- Physical: height, weight, measurements, cup size, eye/hair color
- Personal: birthday, astrology, birthplace, ethnicity, nationality
- Body: tattoos, piercings, boob job status
- Career: start/end years, active status
- Added PerformerExtras nested struct for TPDB "extras" object
- Parse weight/height strings ("49kg" -> 49, "160cm" -> 160)
- Handle British spelling (hair_colour, eye_colour)
✅ Enriched Import
- Auto-fetch full performer details via GetPerformerByID
- Search results now enriched with complete metadata
- UUID + numeric TPDB ID both stored
✅ Enhanced CLI Output
- Formatted display with all available stats
- Height shown in cm and feet/inches
- Weight shown in kg and lbs
- Organized sections (IDs, Personal, Physical, Bio, Media)
- Beautiful separator bars
TECHNICAL DETAILS:
- Schema: 25+ new performer fields with proper types
- Types: PerformerExtras struct for nested TPDB response
- Mapper: String parsing for "160cm", "49kg" format
- Store: Full field support in Create/Search/GetByID
- Display: Conditional rendering of all available data
TESTING:
✅ Riley Reid import: All 25+ fields populated correctly
✅ Duplicate prevention: Second import updates existing record
✅ Broad search ("riley"): Only 2 unique performers
✅ Data accuracy: Matches theporndb.net/performers/riley-reid
Database now captures:
- UUID: 26d101c0-1e23-4e1f-ac12-8c30e0e2f451
- TPDB ID: 83047
- Birthday: 1991-07-09
- Height: 160cm (5'3")
- Weight: 49kg (108lb)
- Measurements: 32A-24-34
- All tattoos, piercings, career info, and full bio
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>