]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/cats/update_mysql_tables.in
19July06
[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 ALTER TABLE Media ADD COLUMN Enabled TINYINT DEFAULT 1;
23 ALTER TABLE Media ADD COLUMN Comment BLOB;
24
25 ALTER TABLE JobMedia DROP ADD COLUMN Stripe;
26
27 ALTER TABLE Job ADD COLUMN PriorJobId INTEGER UNSIGNED DEFAULT 0 REFERENCES Job;
28 ALTER TABLE Job ADD COLUMN RealEndTime DATETIME DEFAULT 0;
29
30 CREATE TABLE Log (
31    LogId INTEGER UNSIGNED AUTO_INCREMENT,
32    JobId INTEGER INTEGER UNSIGNED DEFAULT 0 REFERENCES JobId,
33    Time DATETIME DEFAULT 0,
34    LogText BLOB NOT NULL,
35    PRIMARY KEY(LogId),
36    INDEX (JobId)
37    );
38
39 CREATE TABLE LocationLog (
40    LocLogId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
41    Date DATETIME DEFAULT 0,
42    Comment BLOB NOT NULL,
43    MediaId INTEGER UNSIGNED DEFAULT 0 REFERENCES Media;
44    LocationId INTEGER UNSIGNED DEFAULT 0 REFERENCES LocationId;
45    NewVolStatus ENUM('Full', 'Archive', 'Append', 'Recycle', 'Purged',
46     'Read-Only', 'Disabled', 'Error', 'Busy', 'Used', 'Cleaning') NOT NULL,
47    NewEnabled TINYINT,
48    PRIMARY KEY(LocLogId)
49 );
50
51
52 CREATE TABLE Location (
53    LocationId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
54    Location BLOB NOT NULL,
55    Cost INTEGER DEFAULT 0,
56    Enabled TINYINT,
57    PRIMARY KEY(LocationId)
58    );
59
60
61 DELETE FROM Version;
62 INSERT INTO Version (VersionId) VALUES (10);
63
64 END-OF-DATA
65 then
66    echo "Update of Bacula MySQL tables succeeded."
67 else
68    echo "Update of Bacula MySQL tables failed."
69 fi
70 exit 0