kepstin / riker

The Number One MusicBrainz Player
http://www.kepstin.ca/projects/riker
GNU General Public License v2.0
5 stars 0 forks source link

Allow using a DB other than SQLite #10

Open ianmcorvidae opened 12 years ago

ianmcorvidae commented 12 years ago

Not that SQLite isn't fantastic, but some of us already have PostgreSQL or MySQL installed on our systems (e.g., those of us who run musicbrainz-server already!) and plus, your database backend should be all nice and abstracted anyway.

kepstin commented 12 years ago

It should be, eh? At the moment, it's not very well abstracted, and I was planning to make use of some sqlite-integrated features like the integrated full-text search support. If I was going to support this, better sooner than later, though.

kepstin commented 12 years ago

I'm going to work on switching the database backend to be abstracted through libgda, which should allow using mysql/postgres databases.

kepstin commented 12 years ago

Hmm, libgda has this awesome new data object API that I want to use: http://git.gnome.org/browse/libgda/tree/samples/vala/SampleDataObject.vala

But they haven't released a version with it yet :/ Should be in libgda-5.2 when that gets released. In the meantime I guess you'll have to build libgda from git if you want to build riker :/

ianmcorvidae commented 12 years ago

If you want to build riker, I assume you mean ;)

kepstin commented 12 years ago

So it looks like the way that I'm going to handle this is by Riker using a libgda 'DSN' for configuration. If it's not pre-existing, Riker will create a DSN using some internal default settings - .local/share/riker directory and SQLite engine.

However, a user can use the libgda configuration tools to point the DSN for riker at a different location - say, a PostgreSQL database they have laying about, and Riker will then use that instead.

The idea is to have good zero-configuration defaults, but that advanced users can do neat things.