]> git.sur5r.net Git - bacula/bacula/blob - bacula/updatedb/update_mysql_tables_7_to_8
Try to fix bug #2349 multiple recycle messages
[bacula/bacula] / bacula / updatedb / update_mysql_tables_7_to_8
1 #!/bin/bash
2 #
3 # Shell script to update MySQL tables from version 1.34 to 1.35.5
4 #
5 echo " "
6 echo "This script will update a Bacula MySQL database from version 7 to 8"
7 echo "Depending on the size of your database,"
8 echo "this script may take several minutes to run."
9 echo " "
10 bindir=/usr/bin
11
12 DB_VER=`$bindir/mysql $* bacula -e 'select * from Version;'|tail -n 1 2>/dev/null`
13 if [ -z "$DB_VER" ]; then
14        echo "Sorry, I can't seem to locate a bacula database."
15        exit 1
16 fi
17
18 if [ -n "$DB_VER" ]; then
19
20        if [ "$DB_VER" = "8" ]; then
21                echo "The Catalog is already at version 8. Nothing to do!"
22                exit 0
23        elif [ "$DB_VER" -ne "7" ]; then
24                echo "Sorry, this script is designed to update a version 7 database"
25                echo "and you have a version $DB_VER database."
26                exit 1
27        fi
28 fi
29
30 if $bindir/mysql $* -f << END_OF_DATA
31 USE bacula;
32
33 ALTER TABLE Media ADD COLUMN EndFile INTEGER UNSIGNED NOT NULL DEFAULT 0;
34 ALTER TABLE Media ADD COLUMN EndBlock INTEGER UNSIGNED NOT NULL DEFAULT 0;
35
36 ALTER TABLE File ADD INDEX (JobId, PathId, FilenameId);
37
38 UPDATE Filename SET Name='' WHERE Name=' ';
39
40 DELETE FROM Version;
41 INSERT INTO Version (VersionId) VALUES (8);
42
43 END_OF_DATA
44 then
45    echo "Update of Bacula MySQL tables succeeded."
46 else
47    echo "Update of Bacula MySQL tables failed."
48 fi
49
50 exit 0