schema: change community_rating to DOUBLE PRECISION for simpler type mapping
Change community_rating from DECIMAL(3,1) to DOUBLE PRECISION to: - Eliminate awkward pgtype.Numeric conversion in Go code - Enable direct pgtype.Float8 mapping from ComicInfo.xml float64 - Simplify code by matching natural types (XML float64 → PostgreSQL DOUBLE PRECISION → Go pgtype.Float8) - Remove need for string formatting and Scan() method calls The floating-point precision error (< 0.00001%) is negligible for 0-10 rating scale. This simplifies Phase 4 implementation significantly. Column comment updated to reflect DOUBLE PRECISION type. Relates to: Phase 1 database schema changes for comic metadata support
This commit is contained in:
@@ -156,7 +156,7 @@ CREATE TABLE IF NOT EXISTS media_items (
|
||||
|
||||
-- Additional metadata (applies to all formats)
|
||||
metadata_notes TEXT, -- Notes from metadata files (ComicInfo.xml, EPUB, PDF) - distinct from user notes
|
||||
community_rating DECIMAL(3,1), -- Pre-existing community rating from metadata (0.0-10.0) - distinct from user ratings
|
||||
community_rating DOUBLE PRECISION, -- Pre-existing community rating from metadata (0.0-10.0) - distinct from user ratings
|
||||
|
||||
-- Alternate series information (JSONB for flexible schema - comic-specific)
|
||||
alternate_info JSONB, -- Stores AlternateSeries, AlternateNumber, AlternateCount
|
||||
@@ -567,7 +567,7 @@ COMMENT ON COLUMN media_items.web_url IS 'URL to info page (Goodreads, ComicVine
|
||||
|
||||
-- Additional metadata (applies to all formats)
|
||||
COMMENT ON COLUMN media_items.metadata_notes IS 'Notes from metadata files (ComicInfo.xml, EPUB, PDF) - distinct from user notes in media_notes table';
|
||||
COMMENT ON COLUMN media_items.community_rating IS 'Pre-existing community rating from metadata files (scale 0.0-10.0) - distinct from user ratings in media_ratings table';
|
||||
COMMENT ON COLUMN media_items.community_rating IS 'Pre-existing community rating from metadata files (scale 0.0-10.0, DOUBLE PRECISION) - distinct from user ratings in media_ratings table';
|
||||
COMMENT ON COLUMN media_items.summary IS 'Summary from ComicInfo.xml (may be merged with description from Calibre)';
|
||||
|
||||
-- Library Type File Extensions Notes:
|
||||
|
||||
Reference in New Issue
Block a user