Files
minstrel/internal/db/migrations/0020_relax_art_source_checks.up.sql
bvandeusen 9a705d0ba4 feat(db/m7-art-providers): migration 0020 + provider-hash queries
Relaxes the artists/albums art_source CHECK constraints to allow the
new 'deezer' and 'lastfm' source values alongside the existing
accepted set. Adds cover_art_sources_meta.last_registered_providers_hash
for the boot-time auto-bump detection: when the registered-provider
set changes between deploys, we bump current_version once so 'none'
rows become eligible for retry against the new chain.

Two sqlc queries added: GetCoverArtProvidersHash reads the stored
hash; BumpVersionAndSetProvidersHash atomically increments the
version and stores a new hash, returning the new version. Both used
by the boot logic in a later task.
2026-05-07 07:39:02 -04:00

23 lines
1.0 KiB
SQL

-- Relax cover-art and artist-art source CHECK constraints so the new
-- Deezer and Last.fm providers (next slice) can persist their IDs as
-- accepted source values. Also add the
-- last_registered_providers_hash column to cover_art_sources_meta for
-- boot-time auto-bump detection (when the registered-provider set
-- changes, we bump current_version once so 'none' rows get
-- re-eligibled).
ALTER TABLE artists DROP CONSTRAINT IF EXISTS artists_artist_art_source_check;
ALTER TABLE artists
ADD CONSTRAINT artists_artist_art_source_check
CHECK (artist_art_source IS NULL
OR artist_art_source IN ('theaudiodb','deezer','lastfm','none'));
ALTER TABLE albums DROP CONSTRAINT IF EXISTS albums_cover_art_source_check;
ALTER TABLE albums
ADD CONSTRAINT albums_cover_art_source_check
CHECK (cover_art_source IS NULL
OR cover_art_source IN ('embedded','sidecar','mbcaa','theaudiodb','deezer','lastfm','none'));
ALTER TABLE cover_art_sources_meta
ADD COLUMN IF NOT EXISTS last_registered_providers_hash text NOT NULL DEFAULT '';