]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/cats/update_mysql_tables.in
Drop AFS detection.
[bacula/bacula] / bacula / src / cats / update_mysql_tables.in
1 #!/bin/sh
2 #
3 # Shell script to update MySQL Enterprise version 2.6.x to 4.0.x
4 #  or Bacula Community version 5.0.x to 5.2.x
5 #
6 echo " "
7 echo "This script will update a Bacula MySQL database from version 12 to 13"
8 echo " which is needed to convert from Bacula Enterprise version 2.6.x to 6.0.x"
9 echo " or Bacula Community version 5.0.x to 5.2.x"
10 echo " "
11 bindir=@MYSQL_BINDIR@
12 PATH="$bindir:$PATH"
13 db_name=@db_name@
14
15 mysql $* -D ${db_name} -e "select VersionId from Version\G" >/tmp/$$
16 DBVERSION=`sed -n -e 's/^VersionId: \(.*\)$/\1/p' /tmp/$$`
17 if [ $DBVERSION != 12 ] ; then
18    echo " "
19    echo "The existing database is version $DBVERSION !!"
20    echo "This script can only update an existing version 12 database to version 13."
21    echo "Error. Cannot upgrade this database."
22    echo " "
23    exit 1
24 fi
25
26 if mysql $* -f <<END-OF-DATA
27 USE ${db_name};
28
29 CREATE TABLE RestoreObject (
30    RestoreObjectId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
31    ObjectName BLOB NOT NULL,
32    RestoreObject LONGBLOB NOT NULL,
33    PluginName TINYBLOB NOT NULL,
34    ObjectLength INTEGER DEFAULT 0,
35    ObjectFullLength INTEGER DEFAULT 0,
36    ObjectIndex INTEGER DEFAULT 0,
37    ObjectType INTEGER DEFAULT 0,
38    FileIndex INTEGER UNSIGNED DEFAULT 0,
39    JobId INTEGER UNSIGNED NOT NULL REFERENCES Job,
40    ObjectCompression INTEGER DEFAULT 0,
41    PRIMARY KEY(RestoreObjectId),
42    INDEX (JobId)
43 );
44
45 CREATE INDEX jobhisto_jobid_idx ON JobHisto (JobId);
46
47 ALTER TABLE File ADD COLUMN DeltaSeq smallint default 0;
48
49 DELETE FROM Version;
50 INSERT INTO Version (VersionId) VALUES (14);
51
52 END-OF-DATA
53 then
54    echo "Update of Bacula MySQL tables succeeded."
55 else
56    echo "Update of Bacula MySQL tables failed."
57 fi
58 exit 0