/GroovyMigrationScript

Performs database migrations

Primary LanguageGroovy

Simple Groovy script for performing migrations using Liquidbase.

Basic use cases:
---------------------------

1. Updating a database:
MigrationScript.groovy 'db.properties', 'migrate', 'changeset.groovy' - Performs migration using a groovy changeset file.
MigrationScript.groovy 'db.properties', 'migrate', 'changeset.xml' - Performs migration using an xml changeset file.

NOTES:
Groovy changeset file contains only changesets and doesn't contain a root element.
changeSet(author: 'Victor Savkinn', id: 'changset1') {
...
}
changeSet(author: 'Victor Savkinn', id: 'changset2') {
...
}

XXML changeset file must contain a root element:
<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog
	xmlns="http://www.liquibase.org/xml/ns/dbchangelog/1.9"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog/1.9
         http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-1.9.xsd">

	<changeSet id="custom_sql" author="Victor Savkin">
		...
	</changeSet>

</databaseChangeLog>

2. Setting a tag
MigrationScript.groovy 'db.properties', 'tag', 'mytag'

3. Rolling back a migration
MigrationScript.groovy 'db.properties', 'rollback',  'changeset.groovy', 'mytag' - Performs rolling back of all migrations till 'mytag' tag
MigrationScript.groovy 'db.properties', 'rollback',  'changeset.groovy', 2 - Rolls back 2 last changesets



Additional notes:
---------------------------
lib contains a mysql driver. If the database you migrate is different replace the driver.