]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/cats/update_mysql_tables.in
- Fix the block listing bug pointed out by Arno.
[bacula/bacula] / bacula / src / cats / update_mysql_tables.in
1 #!/bin/sh
2 #
3 # Shell script to update MySQL tables from version 1.38 to 1.39  
4 #
5 echo " "
6 echo "This script will update a Bacula MySQL database from version 9 to 9"
7 echo "Depending on the size of your database,"
8 echo "this script may take several minutes to run."
9 echo " "
10 bindir=@SQL_BINDIR@
11
12 if $bindir/mysql $* -f <<END-OF-DATA
13 USE bacula;
14
15 ALTER TABLE Media ADD COLUMN MediaTypeId INTEGER UNSIGNED DEFAULT 0 REFERENCES MediaType;
16 ALTER TABLE Media ADD COLUMN DeviceId INTEGER UNSIGNED DEFAULT 0 REFERENCES Device;
17 ALTER TABLE Media ADD COLUMN LocationId INTEGER UNSIGNED DEFAULT 0 REFERENCES Location;
18 ALTER TABLE Media ADD COLUMN RecycleCount INTEGER UNSIGNED DEFAULT 0;
19 ALTER TABLE Media ADD COLUMN InitialWrite DATETIME DEFAULT 0;
20 ALTER TABLE Media ADD COLUMN ScratchPoolId INTEGER UNSIGNED DEFAULT 0 REFERENCES Pool;
21 ALTER TABLE Media ADD COLUMN RecyclePoolId INTEGER UNSIGNED DEFAULT 0 REFERENCES Pool;
22
23
24 CREATE TABLE MAC (
25    JobId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
26    OriginalJobId INTEGER UNSIGNED NOT NULL,
27    JobType BINARY(1) NOT NULL,
28    JobLevel BINARY(1) NOT NULL,
29    SchedTime DATETIME NOT NULL,
30    StartTime DATETIME NOT NULL,
31    EndTime DATETIME NOT NULL,
32    JobTDate BIGINT UNSIGNED NOT NULL,
33    PRIMARY KEY(JobId)
34    );
35
36 CREATE TABLE Location (
37    LocationId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
38    Location TINYBLOB NOT NULL,
39    PRIMARY KEY(LocationId)
40    );
41
42
43 DELETE FROM Version;
44 INSERT INTO Version (VersionId) VALUES (9);
45
46 END-OF-DATA
47 then
48    echo "Update of Bacula MySQL tables succeeded."
49 else
50    echo "Update of Bacula MySQL tables failed."
51 fi
52 exit 0