Files
minstrel/internal/db/migrations/0070_album_release_group_mbid.up.sql
T
bvandeusenandClaude Opus 5.5 5c19a916ba
release / govulncheck (push) Successful in 22s
release / web (push) Successful in 1m14s
release / go (push) Successful in 1m33s
release / integration (push) Successful in 4m36s
release / Attach APK to the Release (tag releases only) (push) Canceled after 0s
release / Build + push container image (push) Canceled after 0s
release / Verify release artifacts (tag releases only) (push) Canceled after 0s
release / android (push) Canceled after 5m24s
release / Build signed APK (releases and dev) (push) Canceled after 5m29s
feat(library): store each album's MusicBrainz release-group id (M483 #5242)
albums.mbid is the release id (Picard's musicbrainz_albumid, one edition).
Lidarr names albums by release group, so re-acquisition and request
completion need that id too (#5241).

Migration 0070 adds albums.release_group_mbid (nullable, non-unique index:
several releases share a group). The scanner reads musicbrainz_releasegroupid
through extractReleaseGroupMBID, writes it on insert and heals it onto
existing rows when NULL. tagReadVersion goes to 3 so the next scan fills
it for the library already indexed, bound by tag reads (no ffprobe, no
decode).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 11:33:26 -04:00

11 lines
618 B
SQL

-- MusicBrainz release-group id for an album (#5241). albums.mbid holds the
-- *release* id (Picard's musicbrainz_albumid: one edition), but Lidarr names
-- albums by release group, so re-acquisition and request completion need
-- this one. Not unique: several releases of one group can each be an album
-- row. Filled by the scanner from musicbrainz_releasegroupid, or by the
-- re-acquisition sweeper resolving the release through MusicBrainz.
ALTER TABLE albums ADD COLUMN release_group_mbid text;
CREATE INDEX albums_release_group_mbid_idx ON albums (release_group_mbid)
WHERE release_group_mbid IS NOT NULL;