feat: nullable songs.artwork_url for the artist page V2
Merged
SW
2mo ago+10+10+01234567890123456789-0-0-0123456789
Row 2 of recoupable/chat#1968.
One migration: nullable artwork_url text on public.songs, with a column comment. No backfill — the api PR (row 3) populates it lazily via a fetch-on-miss write-through from the Apple batch ISRC lookup, per the decision recorded on the issue. add column if not exists keeps the migration re-runnable.
Merge order
After docs#304, before the api PR — the api writes this column.
Summary by cubic
Persists per-song artwork by adding a nullable artwork_url on public.songs, so Artist page V2 serves artwork without calling a streaming provider on every build. Previously we didn’t store artwork; now the API lazily resolves and writes the URL on first lookup (source-agnostic, provider chosen by the API; Apple Music today).
Review and rollout
- Adds
artwork_url textwith a column comment; idempotent viaadd column if not exists. - No backfill; API write-through fills on cache misses. Consumers must handle nulls.
- Merge after
recoupable/docs#304and before the API PR that writes this column.
Summary by CodeRabbit
- New Features
- Added optional artwork support for songs.
- Song records can now include an artwork image URL when available.