fix(13-02): auto-resolve phantom playlist tracks after library scan

- Add phantom_file_path column to playlist_tracks (migration 7)
- Store original file_path during RemoveLibrary phantom metadata population
- After each successful scan, UPDATE phantom tracks whose phantom_file_path
  now matches an audio_files row, re-linking them and clearing phantom metadata
- Update schema file, sqlc generated code, and database test for new column
This commit is contained in:
2026-03-16 12:29:06 -04:00
parent f05d2bb603
commit 93262b9ae0
7 changed files with 116 additions and 6 deletions
+3 -1
View File
@@ -244,10 +244,12 @@ func (l *Library) RemoveLibrary(id int64) (*RemovalSummary, error) {
phantom_album = sub.album,
phantom_duration_ms = sub.duration,
phantom_genre = sub.genre,
phantom_cover_art_path = sub.cover_art_path
phantom_cover_art_path = sub.cover_art_path,
phantom_file_path = sub.file_path
FROM (
SELECT
pt.id AS pt_id,
af.file_path AS file_path,
COALESCE(r.name, '') AS title,
COALESCE(ac.text, '') AS artist,
COALESCE(rg.name, '') AS album,