Files
minstrel/internal/db/migrations/0090_upgrades.up.sql
T
bvandeusenandClaude Opus 5.5 6028d78844
release / govulncheck (push) Successful in 17s
release / web (push) Successful in 1m33s
release / go (push) Successful in 1m49s
release / integration (push) Successful in 5m42s
release / android (push) Successful in 5m59s
release / Build signed APK (releases and dev) (push) Successful in 6m9s
release / Attach APK to the Release (tag releases only) (push) Skipped
release / Build + push container image (push) Successful in 16s
release / Verify release artifacts (tag releases only) (push) Skipped
docs: migration headers keep the before and after, without ids, quotes or one library's numbers (#6277)
Applies rule 32's migration exception: each header still says what the
schema was, what changes and what it prevents, but task, milestone,
decision and rule ids are replaced by the practice they stood for, the
operator quotes by the decision, single-install counts are dropped, and
pointers to a deleted package and an external design doc are gone.
golang-migrate keeps no checksum, so editing applied migrations'
comments is safe.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 12:34:39 -04:00

30 lines
1.7 KiB
SQL

-- Upgrades: a held album whose copy is below the quality an admin settles
-- for, or that holds a video rip, stays wanted for a better
-- copy. The import replaces the old tracks with the new ones.
--
-- acquisition_settings.upgrade_until the tier a held album is upgraded to;
-- '' switches quality upgrades off.
-- Lidarr's "Any" profile upgraded up to
-- High Quality Lossy.
-- wants.upgrade why a held album is wanted again:
-- quality (below upgrade_until) or rip
-- (a track is a video rip); '' not.
-- wants.held_tier, held_quality the library copy's tier, estimated
-- from format and size per second, and
-- the same in words.
-- wants.upgrade_checked_at when the wanted worker last judged it.
-- want_candidates.verdict unchanged: a release no better than
-- the copy held is "refused".
ALTER TABLE acquisition_settings
ADD COLUMN upgrade_until text NOT NULL DEFAULT 'lossy_high';
ALTER TABLE wants
ADD COLUMN upgrade text NOT NULL DEFAULT ''
CONSTRAINT wants_upgrade_check CHECK (upgrade IN ('', 'quality', 'rip')),
ADD COLUMN held_tier text NOT NULL DEFAULT '',
ADD COLUMN held_quality text NOT NULL DEFAULT '',
ADD COLUMN upgrade_checked_at timestamptz;
CREATE INDEX wants_upgrade_idx ON wants (searched_at NULLS FIRST)
WHERE fulfilled_at IS NOT NULL AND upgrade <> '';