Skip to content

Instantly share code, notes, and snippets.

@mensinda
Created October 18, 2024 07:32
Show Gist options
  • Select an option

  • Save mensinda/dd99d0a111770bea20f4a3bbc96d1cf9 to your computer and use it in GitHub Desktop.

Select an option

Save mensinda/dd99d0a111770bea20f4a3bbc96d1cf9 to your computer and use it in GitHub Desktop.
#!/bin/bash
set -ex
cd "$(dirname "$0")"
H2_VERSION="2.3.232"
LQ_VERSION="4.29.2"
H2_DOWNLOAD="https://github.com/h2database/h2database/releases/download/version-${H2_VERSION}/h2-${H2_VERSION}.jar"
LQ_DOWNLOAD="https://github.com/liquibase/liquibase/releases/download/v${LQ_VERSION}/liquibase-${LQ_VERSION}.tar.gz"
H2_JAR="h2-${H2_VERSION}.jar"
LQ_TAR="liquibase-${LQ_VERSION}.tar.gz"
LQ_DIR="liquibase-${LQ_VERSION}"
LQ_EXE="$LQ_DIR/liquibase"
[ ! -f "$H2_JAR" ] && wget "$H2_DOWNLOAD" -O "$H2_JAR"
[ ! -f "$LQ_TAR" ] && wget "$LQ_DOWNLOAD" -O "$LQ_TAR"
if [ ! -f "$LQ_EXE" ]; then
rm -rf "$LQ_DIR"
mkdir "$LQ_DIR"
tar -xf "$LQ_TAR" -C "$LQ_DIR"
fi
rm -rf *.db
# Create DB1
cat << EOF | java -cp "$H2_JAR" org.h2.tools.Shell
jdbc:h2:./test_1
org.h2.Driver
test
test
test
create table FOO ( ID int primary key not null, CREATED timestamp(6) );
commit;
quit
EOF
# Create DB2
cat << EOF | java -cp "$H2_JAR" org.h2.tools.Shell
jdbc:h2:./test_2
org.h2.Driver
test
test
test
create table FOO ( ID int primary key not null, CREATED timestamp(9) );
commit;
quit
EOF
rm -rf test.xml
$LQ_EXE diff-changelog --url=jdbc:h2:./test_1 --username=test --password=test --reference-url=jdbc:h2:./test_2 --reference-username=test --reference-password=test --changelog-file=test.xml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment