db: update SQL queries and regenerate models for comic metadata

Phase 1 implementation: Update CreateMediaItem query to support 14 new comic metadata fields.

Changes:
- Add 14 new columns to CreateMediaItem INSERT statement
- Regenerate sqlc models with new fields
- CommunityRating now maps to pgtype.Float8 (was pgtype.Numeric)
- All new comic and universal metadata fields included

New fields supported:
- Reading direction: manga_type, reading_direction
- Universal: series_count, volume, imprint, age_rating, web_url
- Comic-specific: story_arc, is_black_and_white, metadata_notes,
  community_rating, alternate_info, scan_information, summary

Generated models verified:
- MediaItems struct includes all 14 new fields
- CreateMediaItemParams has correct parameter count (42 total)
- CommunityRating is pgtype.Float8 (not pgtype.Numeric)

Relates to: Phase 4.1-4.2 database layer implementation
This commit is contained in:
2026-03-29 21:12:20 -04:00
parent 54559a6e91
commit dd81dc08a2
3 changed files with 10 additions and 10 deletions
+2 -2
View File
@@ -246,8 +246,8 @@ type MediaItems struct {
IsBlackAndWhite pgtype.Bool `db:"is_black_and_white" json:"is_black_and_white"`
// Notes from metadata files (ComicInfo.xml, EPUB, PDF) - distinct from user notes in media_notes table
MetadataNotes pgtype.Text `db:"metadata_notes" json:"metadata_notes"`
// Pre-existing community rating from metadata files (scale 0.0-10.0) - distinct from user ratings in media_ratings table
CommunityRating pgtype.Numeric `db:"community_rating" json:"community_rating"`
// Pre-existing community rating from metadata files (scale 0.0-10.0, DOUBLE PRECISION) - distinct from user ratings in media_ratings table
CommunityRating pgtype.Float8 `db:"community_rating" json:"community_rating"`
// Alternate series information as JSONB: {alternate_series, alternate_number, alternate_count}
AlternateInfo []byte `db:"alternate_info" json:"alternate_info"`
// Scan information from ComicInfo.xml (scanner group, resolution, etc.)