Unfortunately this wasn't the right fix. After re-doing the procedure (with a full rescan in Clementine and a reset database in Strawberry) Strawberry duplicated every entry in my list.
Note that I have 36 directories in my library, the reason why this issue matters to me.
After pondering for a while I decided to compare table entries for a specific directory path from a song and then I noticed this:
clementine.db:
table: column(s):
songs directory: 45
directories rowid: 36
subdirectories rowid: 7 directory: 45
strawberry.db:
table: column(s):
songs directory_id: 45
directory_id: 36 (duplicate that appeared after rescan)
directories rowid: 36
subdirectories rowid: 36 directory_id: 45
rowid: 72 directory_id: 36 (duplicate that appeared after rescan)
I think the issue is that Clementine seems to associate songs->directory with subdirectories->directory while Strawberry associates directory_id with directories->rowid.
Unfortunately my sql skills are very rusty so I didn't want to spend even more time trying to come up with a fix. Instead I opted for a different procedure:
- Removed strawberry.db and Strawberry cache directory, start Strawberry and exit to reset the database.
- Migrated the directories table (using sql because of efficiency.)
- Copied over album covers.
- Started Strawberry again, did a full rescan, then exit.
- Used this script by Rolf to import song statistics and ratings:
https://forum.strawberrymusicplayer.org/topic/113/import-ratings-from-other-players-esp-clementine - Started Strawberry again and did full rescan again.
After creating a playlist with the 'All tracks' smart playlist the total song count was almost the same. A minor discrepancy was caused by a corrupt file name (which broke the scan of one directory) and a few corrupted media files. But that's easy to fix.
i(Btw. I didn't care about migrating playlists since I've got only a hand full of smart playlists which I can easily recreate manually.)