start of new DB design

Maximilian Kossick mkossick at gmx.de
Wed Jun 6 12:45:54 CEST 2007


On Wednesday 06 June 2007, Ian Monroe wrote:
> Attached is my first crack at redesigning the database for Amarok 2.0.
> I used the demo version of theKompany.com's Data Architect (though it
> has no limitations that I could see) to do it. Its not the best piece
> of software, but at least it doesn't start going wacky like
> Umbrello...
>
> Known problem: currently the 'trackid' primary key is in the 'urls'
> table, which is why everything is pointed to it. It makes more sense
> to put it in the 'tracks' table, since thats where all the info is.
>
> I added a playlistcurrent table, and a set of tables to handle
> undo/redo. There are two types of tracks that can be in a playlist,
> those that are part of the collection and those that are not. So
> either trackid or externalid in playcurrent goes unused (externalid is
> a FK for the PK of playlistexternal, I just noticed the latter is
> missing.) This creates more complications in the undo/redo system.
>
> Any other ideas on how to handle that?

And another idea: you could remove the distinction between trackid and 
externalid in the table if you'd just store the urls (as returned by 
Track::url(). The method is designed for cases like this. ) in the table. 
That way we could easily handle multiple SQL collections (i'm not sure if we 
want to add this functionality) and it would make the code a lot easier.
As pseudo-code:

load all urls from the current playlist table
for each url
{
	call CollectionManager:::trackForUrl
	if result of trackForUrl != 0
		insert track into playlist
	else
		create and insert proxy
}

> Other then that, I'm looking for some general feedback on what people
> think of it. I left podcast stuff alone, I'm not sure if people think
> it needs some work or not. Amazon is fine and simple as it is.
>
> Peace,
> Ian Monroe


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/amarok-devel/attachments/20070606/e9fe8d1c/attachment.pgp 


More information about the Amarok-devel mailing list