Skip to content

Export compilation_track_artist to library.db#62

Merged
jakebromberg merged 2 commits intomainfrom
compilation-track-artist
Apr 9, 2026
Merged

Export compilation_track_artist to library.db#62
jakebromberg merged 2 commits intomainfrom
compilation-track-artist

Conversation

@jakebromberg
Copy link
Copy Markdown
Member

@jakebromberg jakebromberg commented Apr 9, 2026

Summary

  • Add fetch_compilation_track_artists() to CatalogSource protocol and both implementations
  • Update export_to_sqlite.py to create compilation_track_artist table with indexes when data is available
  • SSH remote path fetches the table via a second MySQL query; gracefully skips if table doesn't exist yet

Closes #61

Test plan

  • 519 unit tests pass
  • TubafrenzySource.fetch_compilation_track_artists() returns list of dicts
  • Graceful fallback when table doesn't exist
  • _do_export() creates table and indexes when track artists provided
  • _do_export() backward-compatible without track artists
  • After WXYC/tubafrenzy#367 is merged and va_catalog_inserts.sql is applied, re-run sync-library.sh to verify end-to-end

Jake Bromberg added 2 commits April 8, 2026 18:42
Adds fetch_compilation_track_artists() to the CatalogSource protocol and both implementations (TubafrenzySource queries COMPILATION_TRACK_ARTIST, BackendServiceSource returns empty). The export script creates the table in SQLite when track artist data is available, with indexes on library_release_id and artist_name.

This enables library-metadata-lookup to surface compilation releases when searching by track artist name.
@jakebromberg jakebromberg merged commit 8db27b7 into main Apr 9, 2026
3 checks passed
@jakebromberg jakebromberg deleted the compilation-track-artist branch April 9, 2026 04:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Export compilation_track_artist to library.db

1 participant