From 2fb35d6027a07791c246db3a05c8140e737f01da Mon Sep 17 00:00:00 2001 From: Martin Date: Fri, 12 Feb 2016 11:47:19 +0100 Subject: [PATCH] first commit --- db-upgrade | 19 +++++++++++++++++++ migrations/.gitkeep | 0 2 files changed, 19 insertions(+) create mode 100755 db-upgrade create mode 100644 migrations/.gitkeep diff --git a/db-upgrade b/db-upgrade new file mode 100755 index 0000000..7984d4d --- /dev/null +++ b/db-upgrade @@ -0,0 +1,19 @@ +#!/bin/bash +set -e +# source $(dirname $0)/../.include + +function add-version() { + psql $PSQL_OPTS -c "update database_versions set is_active = false where is_active = true" $DB_NAME + psql $PSQL_OPTS -c "insert into database_versions (version, is_active) values ('$1', TRUE)" $DB_NAME +} + +current_version=$(psql $PSQL_OPTS -Atc "select version from database_versions where is_active = true" $DB_NAME) + +for f in $(ls -1 migrations/*.sql | sort); do + filev=$(basename $f .sql) + if [[ $filev > $current_version ]]; then + psql $PSQL_OPTS -vON_ERROR_STOP= -1f $f $DB_NAME + # No need to check return code because of the 'set -e' + add-version $filev + fi +done \ No newline at end of file diff --git a/migrations/.gitkeep b/migrations/.gitkeep new file mode 100644 index 0000000..e69de29