Not long ago I’ve talked about a utility called xsd2db that we use to create a database schema directly from .XSD files. A few people told me they about different scenarios where such tool could be useful. John writes re-writing Pet Shop using code-generation tools. To me, it looks like xsd2db could help.
So to put the bits where my mouth is, I’ve created a project on SourceForge to share the code and let others contribute.
I know this initial release works in our environment (.NET 1.0, Sql Server, VS.NET 2002). But there’s plenty of room for improvement of course. The utility can easily be extended to support other databases (Teradata is next on our list). 0.1 version can only create new databases from scratch. A neat feature that would be nice to have is the ability to merge existing database schema with .XSD file. In other words, being able to update (refactor?) existing database schemas using XSD. Comparing a DB schema with a given XSD file is another useful thing to have. It is all about unifying relational and object-oriented data structures. What do you want xsd2db to be? Who knows how far this experiment will go.
As added benefit it gave me a chance to compare SF projects with GDN workspaces. Early results: 10 minutes to set up GDN workspace. 2-3 hours to figure out SF and CVS setup. Needless to say SF/CVS combination is clearly more powerful platform with much more features than GDN/VSS, but it comes with a bit of a cost.