CFDdlUtils - Convert/Export Your Database To XML!!
Ray blogged yesterday about using some cool features in ColdFusion 8 to create a backup of your database. I commented on that post that I had recently been looking into a Java solution called DdlUtils. I hadn't gotten the package completely working when I messed with it the other day, but thanks to a couple of Excedrin Migraine pills I took last night that kept me up all night I got some time to dig into this project a little more. I'll hijack some text from the DdlUtils home page to explain the project:



Nice Post! This would be really helpful in database migration.
Do you think continuing on that project would be beneficial or is Transfer meeting all your needs? In other words, does Torque do anything "better/different" then Transfer does?
http://www.bryantwebconsulting.com/blog/index.cfm/...
http://www.bryantwebconsulting.com/blog/index.cfm/...
My list of supported databases isn't as extensive yet (though I do plan to expand it).
With that, let me be lazy and ask you a few questions instead of looking into it more. Any plans of taking advantage of cfdbinfo (possible conditional cf8 support so as to not alienate your users) to greatly expand the supported databases? Do you have a createDatabase() function (or would you consider adding one)? Does DataMgr support indexes, foreign keys, etc - does it support dumping existing rows of data to xml also?
If I could convince you to add a few of those things then I would really like to use your component set for my project (which will be open sourced and will benefit all open source developers and users of OS software in the CF community).
Ping me offline if you'd like to talk more. I'm on GTalk (cfsilence@gmail.com).
I don't have any plans currently to take advantage of cfdbinfo. DataMgr will currently run on CFMX 6.1 and above and I don't want to sacrifice that - especially since cfdbinfo alone would not be sufficient to add support for new databases.
I am willing to add support for any database to which I can get access (I'm not going to go download every database on my computer, but if someone will set up a datasource that I can reach from my computer, I will work on adding support for that database).
I don't have a createDatabase() function, but I would consider adding one. It doesn't currently support indexes and foerign keys, but I would certainly be willing to look into that (it has been on my mind for some time).
DataMgr itself doesn't support dumping rows as XML (Though DataSynch does). That would be easy to add though.
It sounds like you have some great ideas! I will shoot you an email for more discussion on this.
Great post. Quick question--you mention that you had to add one or more external libraries to get the thing running, but never list them. Can you give us a list of what those are?
Thanks,
Mark
I'd be glad to share the whole project with you - I had intended on releasing the whole project but I've ran into some issues and haven't had a chance to work more on the project yet. One of the issues is that CF ships with a custom SQL server JDBC driver that is not recognized by ddlutils so I'm refactoring how the database type is determined (ddlutils dyncamically evaluates the db type based on the given JDBC driver so I need to find a different method).
I can send you a copy of the zip once I've got that tweaked or do you just want what I've got so far?