3 # Shell script to update MySQL tables from version 1.22 to 1.23
6 echo "This script will update a bacula database from version 4 to 5."
7 echo "Depending on the size of your database,"
8 echo "this script may take several minutes to run."
11 # the location of the mysql program
14 DB_VER=`$bindir/mysql bacula -e 'select * from Version;'|tail -n 1 2>/dev/null`
15 if [ -z "$DB_VER" ]; then
16 echo "Sorry, I can't seem to locate a bacula database."
20 if [ -n "$DB_VER" ] && [ "$DB_VER" -ne "4" ]; then
21 echo "Sorry, this script is designed to update a version 4 database"
22 echo "and you have a version $DB_VER database."
26 if $bindir/mysql -f <<END-OF-DATA
28 ALTER TABLE Media ADD COLUMN VolUseDuration BIGINT UNSIGNED NOT NULL;
29 ALTER TABLE Media ADD COLUMN MaxVolJobs INTEGER UNSIGNED NOT NULL;
30 ALTER TABLE Media ADD COLUMN MaxVolFiles INTEGER UNSIGNED NOT NULL;
31 ALTER TABLE Pool ADD COLUMN VolUseDuration BIGINT UNSIGNED NOT NULL;
32 ALTER TABLE Pool ADD COLUMN MaxVolJobs INTEGER UNSIGNED NOT NULL;
33 ALTER TABLE Pool ADD COLUMN MaxVolFiles INTEGER UNSIGNED NOT NULL;
34 ALTER TABLE Pool ADD COLUMN MaxVolBytes BIGINT UNSIGNED NOT NULL;
35 ALTER TABLE Media MODIFY VolStatus ENUM('Full', 'Archive', 'Append',
36 'Recycle', 'Purged', 'Read-Only', 'Disabled', 'Error',
37 'Busy', 'Used') NOT NULL;
38 ALTER TABLE Media CHANGE VolMaxBytes MaxVolBytes BIGINT UNSIGNED NOT NULL;
40 UPDATE Version SET VersionId=5;
44 echo "Update of Bacula tables succeeded."
46 echo "Update of Bacula tables failed."