Skip to content

Instantly share code, notes, and snippets.

Created March 21, 2014 15:17
Show Gist options
  • Save anonymous/9688574 to your computer and use it in GitHub Desktop.
Save anonymous/9688574 to your computer and use it in GitHub Desktop.
#!/bin/bash
set -o nounset
set -o errexit
H2_JAR=~/install/play-2.2.2/repository/local/com.h2database/h2/1.3.172/jars/h2.jar
PROD_URL=jdbc:h2:prod
DEV_URL=jdbc:h2:dev
PROD_DDL_FILE=`tempfile --prefix prod- --suffix .sql`
DEV_DDL_FILE=`tempfile --prefix dev- --suffix .sql`
cat << 'EOF' > $PROD_DDL_FILE
CREATE TABLE customer(customerId INT PRIMARY KEY AUTO_INCREMENT NOT NULL);
EOF
java -cp $H2_JAR org.h2.tools.RunScript -url $PROD_URL -script $PROD_DDL_FILE
cat << 'EOF' > $DEV_DDL_FILE
CREATE TABLE customer(customerId INT PRIMARY KEY AUTO_INCREMENT NOT NULL, name VARCHAR NOT NULL);
CREATE TABLE product(productId INT PRIMARY KEY AUTO_INCREMENT NOT NULL);
EOF
java -cp $H2_JAR org.h2.tools.RunScript -url $DEV_URL -script $DEV_DDL_FILE
LIQUIBASE="liquibase --driver=org.h2.Driver --classpath=$H2_JAR"
$LIQUIBASE --url=$DEV_URL --username=sa --changeLogFile=changeLog.xml generateChangeLog
$LIQUIBASE --url=$DEV_URL --username=sa --changeLogFile=changeLog.xml changeLogSync
$LIQUIBASE --url=$PROD_URL --username=sa --referenceUrl=$DEV_URL --referenceUsername=sa --changeLogFile=changeLog.xml diffChangeLog
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment