A week ago i just read about liquibase ramp up and all sorts of the attached lessons however i seem like i do not obtain the whole drift about utilizing it for consecutive alternation in the database and that i possess some questions still opened up.

i am developing a credit card applicatoin in netbeans using maven with 3 modules: dbunit module, service module and also the webapp module.As you may have suspected dbunit does the database things, the services are on the top from it and also the webapp uses the help.therefore the parent pom has got the promise of all groupids, artifactids and versions for those jars and plug ins.

I have the ability to create the changelog file from command line because the db has already been existing and assuming i setup everything properly using liquibase maven wordpress plugin :

question 1 : What's going to the liquibase goal be since at this time i am doing any database change at this time?

Question 2 : If i wish to add for instance a brand new table towards the database, am i going to add the this new changeSet towards the same changelog file or i must produce a new changelog.xml file?

Question 3 : In my opinion once the dbunit runs it'll run the changeset but is the fact that essential to add the wordpress plugin to th webapp module too (maybe to operate the liquibase goal before deployment with cargo wordpress plugin) or even the dbunit will require proper care of that?

Question 4 : Just what subversion aids in keep your states from the changelog (presuming there's just one changelog refere to question 2)

thank you for reading through this as well as for you help.

  1. See http://www.liquibase.org/manual/maven

which means you should bind your liquibase execution to some phase like

<phase>process-resources</phase>

However i make use of a spring executor, too. So each time my application begins, it begins a liquibase executor to complete missing changelogs within the database. It's nice, because when you're ready together with your work as well as your tests, liquibase has up-to-date your dev database although not your production database. However when you install your war and begin your webapp, liquibase handles it instantly to create your database to current condition. So it's not necessary to remember doing a bit of extra stuff before implementing your brand-new version.

  1. Keep the changelog.xml with includes to changelog files such as this

    http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-1.9.xsd">
    when you wish a brand new table, give a changelog-0002.xml file and reference it inside your master changelog.xml

  2. see answer 1. I'd place in your webapp module too.

  3. You ought to have many changelog files. which means this real question is not relevant.