]> git.sur5r.net Git - bacula/bacula/blob - bacula/updatedb/update_mysql_tables_4_to_5
Correct FS size calculation for FreeBSD, Solaris, and Windows
[bacula/bacula] / bacula / updatedb / update_mysql_tables_4_to_5
1 #!/bin/sh
2 #
3 # Shell script to update MySQL tables from version 1.22 to 1.23
4 #
5 echo " "
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."
9 echo " "
10
11 # the location of the mysql program
12 bindir=/usr/bin
13
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."
17         exit 1
18 fi
19
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."
23         exit 1
24 fi
25
26 if $bindir/mysql -f <<END-OF-DATA
27 USE bacula;
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;
39
40 UPDATE Version SET VersionId=5;
41
42 END-OF-DATA
43 then
44    echo "Update of Bacula tables succeeded."
45 else
46    echo "Update of Bacula tables failed."
47 fi
48 exit 0