I'm new of database versioning, I'm developing a java web application (vaadin,spring,spring-data-jpa) where I'm using maven like tool of project managment. Through manen I'm managing releases and sorce code versioning. Now my trouble is the database versioning. I try to explain my problem through an example:
When my application is at version 0.0.1-SNAPSHOT I made a database that contains some tables, at a certain point I decide to release this version (1.0.0), and install it on my production environment, while inside my trunk (on SCM) I have the version 1.0.1-SNAPSHOT. Now I have to add some new functionality and these new functionality require to add some others tables and attributes, when I finish to develop these new functionality i update my database and release the (1.1.0). Now if for some problem I want to reinstall the 1.0.0 I'm not able to reset the database state. I saw that there are some plug-in to database versioning How to: database versioning with maven2?, but i would want some suggestion what are the guidelines in these cases, and what plug-in would allow me to manage them.