#!/bin/bash # Copyright (c) 2012 David Owen # Licensed under the Academic Free License version 3.0. DB=`cat db` CURRENT=`./current` echo Current is $CURRENT LATEST=`ls -vr [0-9]*.sql |head -n1 |egrep -o "^[0-9]+"` echo Latest is $LATEST PENDING="" for (( I = $CURRENT + 1 ; I <= LATEST ; I++ )) ; do F=`ls $I-*.sql` echo Applying $F G=`mktemp` cp $F $G echo "UPDATE db_schema SET version = $I;" >>$G psql -v ON_ERROR_STOP=TRUE -1 -f $G $DB || exit 1 rm $G done echo OK