Thematic background picture
          about Audio

"Fixing" a Banshee music database

Audio, Linux
~1 minute 2 comments

NOTE: This is a bit verbose in the description, but maybe you can learn something from the process. If you just want to know how to fix the Banshee database after changing user-name or moving your library to a different location, scroll down.

I recently reinstalled Ubuntu and in the process changed my user-name to my more commonly used 'cybolic', however after copying the ~/.config/banshee-1 directory to my new home-dir, I realised that Banshee had all my music indexed by absolute path, meaning that it was looking for my old home-dir and so couldn't play any tracks.

To fix it I assumed I would have to do a search and replace on its database, but I needed the filetype, so a quick file ~/.config/banshee-1/banshee.db later I now knew that it was in SQLite 3.x format.

Now on to a tool to do the search and replace on the database...

Ubuntu has a tool in its repos called sqlitebrowser, that sounded about right, so I installed it and yes, it allowed me to browse the database and perform SQL queries - just what I needed.

So, long story short, to change the location of your music files in the Banshee database, here's what you do (close Banshee first):

sudo aptitude install sqlitebrowser
sqlitebrowser ~/.config/banshee-1/banshee.db

Now change to the tab labelled "Execute SQL" and write something like the following:

update CoreTracks set Uri = replace(Uri, '/home/<olduser>', '/home/<newuser>');
update PodcastEnclosures set LocalPath = replace(LocalPath, '/home/<olduser>', '/home/<newuser>');

You are now done and can start Banshee again :)

All content © 2007-2025 Christian Dannie Storgaard except where otherwise noted. All rights reserved.
Icons from the Tabler Icons project used under the MIT License.