-#!/bin/sh
+#!/bin/bash
#
# Shell script to update MySQL tables from version 1.34 to 1.35.5
#
echo "Depending on the size of your database,"
echo "this script may take several minutes to run."
echo " "
-bindir=/home/kern/bacula/depkgs/sqlite
+bindir=/usr/bin
-if $bindir/mysql $* -f <<END-OF-DATA
+DB_VER=`$bindir/mysql $* bacula -e 'select * from Version;'|tail -n 1 2>/dev/null`
+if [ -z "$DB_VER" ]; then
+ echo "Sorry, I can't seem to locate a bacula database."
+ exit 1
+fi
+
+if [ -n "$DB_VER" ]; then
+
+ if [ "$DB_VER" = "8" ]; then
+ echo "The Catalog is already at version 8. Nothing to do!"
+ exit 0
+ elif [ "$DB_VER" -ne "7" ]; then
+ echo "Sorry, this script is designed to update a version 7 database"
+ echo "and you have a version $DB_VER database."
+ exit 1
+ fi
+fi
+
+if $bindir/mysql $* -f << END_OF_DATA
USE bacula;
ALTER TABLE Media ADD COLUMN EndFile INTEGER UNSIGNED NOT NULL DEFAULT 0;
ALTER TABLE Media ADD COLUMN EndBlock INTEGER UNSIGNED NOT NULL DEFAULT 0;
+ALTER TABLE File ADD INDEX (JobId, PathId, FilenameId);
+
UPDATE Filename SET Name='' WHERE Name=' ';
DELETE FROM Version;
INSERT INTO Version (VersionId) VALUES (8);
-END-OF-DATA
+END_OF_DATA
then
echo "Update of Bacula MySQL tables succeeded."
else
echo "Update of Bacula MySQL tables failed."
fi
+
exit 0