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:
@@ -90,6 +90,7 @@ type PlaylistTrack struct {
|
||||
PhantomDurationMs sql.NullInt64
|
||||
PhantomGenre sql.NullString
|
||||
PhantomCoverArtPath sql.NullString
|
||||
PhantomFilePath sql.NullString
|
||||
}
|
||||
|
||||
type Queue struct {
|
||||
|
||||
@@ -16,7 +16,7 @@ INSERT INTO playlist_tracks (
|
||||
phantom_title, phantom_artist, phantom_album,
|
||||
phantom_duration_ms, phantom_genre, phantom_cover_art_path
|
||||
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
|
||||
RETURNING id, playlist_id, audio_file_id, position, phantom_title, phantom_artist, phantom_album, phantom_duration_ms, phantom_genre, phantom_cover_art_path
|
||||
RETURNING id, playlist_id, audio_file_id, position, phantom_title, phantom_artist, phantom_album, phantom_duration_ms, phantom_genre, phantom_cover_art_path, phantom_file_path
|
||||
`
|
||||
|
||||
type AddPlaylistTrackParams struct {
|
||||
@@ -55,6 +55,7 @@ func (q *Queries) AddPlaylistTrack(ctx context.Context, arg AddPlaylistTrackPara
|
||||
&i.PhantomDurationMs,
|
||||
&i.PhantomGenre,
|
||||
&i.PhantomCoverArtPath,
|
||||
&i.PhantomFilePath,
|
||||
)
|
||||
return i, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user