From 8b9bf1afce50c1a984a211e9cd489280a3d6550a Mon Sep 17 00:00:00 2001 From: 409 Date: Mon, 16 Dec 2024 06:12:05 +0100 Subject: [PATCH] fix(tracks): insert tracks breaks playlists --- src/database/tracks.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/database/tracks.rs b/src/database/tracks.rs index b7c64f7..4a1e6aa 100644 --- a/src/database/tracks.rs +++ b/src/database/tracks.rs @@ -219,7 +219,18 @@ pub async fn insert_tracks( }); let mut statement = - tx.prepare("INSERT OR REPLACE INTO tracks (hash, library_path_id, name, artist_id, path, duration) VALUES (?1, ?2, ?3, ?4, ?5, ?6)")?; + tx.prepare(" + INSERT INTO tracks + (hash, library_path_id, name, artist_id, path, duration) + VALUES + (?1, ?2, ?3, ?4, ?5, ?6) + ON CONFLICT(hash) DO UPDATE SET + library_path_id = ?2, + name = ?3, + artist_id = ?4, + path = ?5, + duration = ?6 + ")?; for (hash, meta) in tracks.iter() { statement.execute(params![