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.
This commit is contained in:
2026-05-07 07:39:02 -04:00
parent d57004b085
commit 9a705d0ba4
5 changed files with 91 additions and 2 deletions
+16
View File
@@ -44,3 +44,19 @@ UPDATE cover_art_sources_meta
SET current_version = current_version + 1
WHERE id = true
RETURNING current_version;
-- name: GetCoverArtProvidersHash :one
SELECT last_registered_providers_hash
FROM cover_art_sources_meta
WHERE id = true;
-- name: BumpVersionAndSetProvidersHash :one
-- Atomically increments the version and stores the new provider-set
-- hash. Called at boot when the registered-provider set has changed
-- since the last start, so 'none' rows become eligible for retry.
-- RETURNING gives the new version without a follow-up SELECT.
UPDATE cover_art_sources_meta
SET current_version = current_version + 1,
last_registered_providers_hash = $1
WHERE id = true
RETURNING current_version;