INSERT OR REPLACE on existing tracks was deleting the entire row and reinserting only 9 columns, nuking spotify_track_id, deezer_id, isrc, bpm, musicbrainz IDs, and ~15 other enrichment columns every scan. Now uses UPDATE for existing tracks (preserves all enrichment) and INSERT only for new tracks. Also ensures file_path gets updated from the media server on each scan, fixing stale paths for users whose files were moved/reorganized. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| music_database.py | ||
| music_library.db | ||