I'm attempting to creating a tool which will help to maintain database version(like maintaining source code version). We've got the technology that we am thinking to make use of is spring-hibernate to ensure that the tool could be internet based and you can use it by multiple project . The concept is the fact that any database change are only able to be triggered with the aid of it,to ensure that the database version information could be maintained and also the database can be created consistent .Procedures like commit,roll back,branching,merging ought to be possible. Are you able to suggest me that how must i method of this issue?

I've discovered an opensource tool known as LiquidBase that has already provided some kind of solution to maintain database version. This is a short preview on what this tool can do. But it has some restrictions like it doesn't handle saved methods and triggers also it creates the foundation of the XML file . However I think I'm able to integrate it with my requirement and that i can accelerate development. For those who have every other tool in understanding which may be much better than this then please tell me.

If at all possible let me know that the way the tool ought to be organized to ensure that different project can certainly maintain their database version. What all problem the tool need to deal with and what minimum support should a minimum of be there within this tool? What ought to be the UI to ensure that user ought to be easily able to utilize it.?