Liquibase

Mailprobe uses the database migration plugin. The user guide could be found at http://grails-plugins.github.com/grails-database-migration/docs/manual/index.html.

The master DB for all changes is devDB in the mailprobe-core root directory . All commands have to be issued in the mailprobe-core directory.

Initial set-up

  1. Check out the current devDB
    svn co https://mailprobe.svn.sourceforge.net/svnroot/mailprobe/trunk mailprobe
  2. change into mailprobe-core directory
  3. Create a testDB
    grails -Dgrails.env=test dbm-update
    (delete old testDB if already exists)

Identify database changes

After changing the domain classes or adding new domain classes you have to diff the master (devDB) against the stable version (testDB).

grails -Dgrails.env=dev dbm-diff test --add change01.groovy

For every diff use a different name for the result file (above example with change01.groovy). The created files will be included in changelog.groovy.

Migrate test and prod

The commands

grails -Dgrails.env=test dbm-update
grails -Dgrails.env=prod dbm-update
        

migrates all changes to the XXXX-databases in mailprobe-core root directory. The databases will be created if they don't exist.

Setting up a complete new devDB

  1. Delete old devDB
  2. Run application to initalize devDB
    grails dev run-app
  3. Create complete changelog
    grails dbm-generate-changelog changelog.groovy
  4. Mark devDB as changelog source
    grails dbm-changelog-sync