-# Updates the database by applying all migration scripts in
-# /usr/share/sfa/migrations/N-up-*, where N is greater than the
-# current subversion. At least one of the migration scripts with the
-# same N must update sfa_db_version.subversion.
-function migrate_db()
-{
- subversion=$(psql -U $SFA_DB_USER --quiet --tuples-only --no-align -c \
- "SELECT subversion FROM sfa_db_version LIMIT 1" \
- $SFA_DB_NAME 2>/dev/null || echo 0)
- shopt -s nullglob
- for file in /usr/share/sfa/migrations/[0-9]*-up-* ; do
- script=$(basename $file)
- index=${script%-up*}
- extension=${script##*.}
- if [ $index -gt $subversion ] ; then
- if [ "$extension" = "sql" ] ; then
- dialog " - $script (dbdumped)"
- dump_sfa_db "before-$script"
- psql -U $SFA_DB_USER -f $file $SFA_DB_NAME
- elif [ -x $file ] ; then
- dialog " - $script (dbdumped)"
- dump_sfa_db "before-$script"
- $file
- else
- dialog "\nWarning: migration $file not executable"
- fi
- check
- fi
- done
-}
-
-
-