This project has moved. For the latest updates, please go here.

MySQL and XBMC

Mar 20, 2013 at 5:28 PM
Are there any plans to include a library export to MySQL for those of us who have enough XBMC boxes to warrant using a central library?
Coordinator
Mar 20, 2013 at 6:21 PM
There were plans. But nothing underway currently. I was under the impression that a MySQL interface would be hampered by the many different library versions that have been used between Dharma and Frodo, and now Gotham.

Still, we're open to people who what to make the interface.
Mar 20, 2013 at 10:41 PM
Well I don't know how past integrations work but the current one actually versions the database name (unless you specify it) and I'm hoping that there is at least a way within the tables to identify the schema version (which would be half the battle.) It would then be a matter of deciding how far back you would wish support to go (or stick with the view that new features start from the current version at the time of implementation, or perhaps back one major version before, just to be helpful.)

I can't promise anything but I'll take a proper look at the XBMC documentation and schema, then look at your rather excellent project and see if I can find the time to cause myself more pain and misery ;-)
Coordinator
Mar 21, 2013 at 3:44 AM
With regards to which versions of DB, I would like to think we could cater for a large range of database versions, As the main reason for MC is compatibility with XBMC, Dharma, Eden, Frodo and beyond.

Plus, some of us still have the good old Xbox running XBMC
This was my first reason for using MC, as the Xbox took ages to scrape the data for my movies and TV Shows, and if you updated, it was best to let the Xbox scrape again. Hence, having local nfo and artwork was vital

But I know XBMC4Xbox will never be MySQL supported, so I'd say do what can be done. Any module created could be added to MC
Mar 26, 2013 at 3:42 AM
I think it would be more interesting if MC could connect to MySQL and load/update the database directly - that way you could skip the xbmc update all together.
Seems like a lot of effort though.

as it stands, I have a batch file on schedule on my server which runs the following:
cd mc directory
run mc_com.exe -m,
timeout 60
run mc_com.exe -e,
timeout 60
cd xbmc directory
start xbmc.exe
timeout 300
taskkill /im /f xbmc.exe

so that MC is updated, then xbmc updates the sql library and then all my clients don't need to update.

Since frodo though, if you refresh a movie or episode, it isn't treated as a brand new movie - it keeps the added date and only refreshes the content.
so creating a completely new sql db and refreshing all content keeps the library as it was in prior versions.

I guess if you could tell MC which sql to connect to, you could, in theory update xbmc to a new version, xbmc would create a new sql DB, then tell MC the new SQL DB name and then import the library directly into the new DB.
Mar 26, 2013 at 3:09 PM
having MC interface with the MySQL db would be problematic, not the least of which would mean that MC devs would have to keep up to date on whatever versions of the database schema that XBMC is using. It really should be kept separate, and just use the JSON API when it needs to interface with XBMC directly, then you wouldn't have to worry about what version a database is at because the XBMC is handling it directly. (Starting other conversation on just such a topic.)