]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/cats/update_mysql_tables.in
- Add Enabled column to Location, correct some typos in DB schemas.
[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
24 ALTER TABLE JobMedia DROP ADD COLUMN Stripe;
25
26 ALTER TABLE Job ADD COLUMN PriorJobId INTEGER UNSIGNED DEFAULT 0 REFERENCES Job;
27 ALTER TABLE Job ADD COLUMN RealEndTime DATETIME DEFAULT 0;
28
29 CREATE TABLE Log (
30    JobId INTEGER INTEGER UNSIGNED DEFAULT 0 REFERENCES JobId,
31    LogText BLOB NOT NULL,
32    INDEX (JobId)
33    );
34
35 CREATE TABLE Location (
36    LocationId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
37    Location TINYBLOB NOT NULL,
38    Cost INTEGER DEFAULT 0,
39    Enabled TINYINT,
40    PRIMARY KEY(LocationId)
41    );
42
43
44 DELETE FROM Version;
45 INSERT INTO Version (VersionId) VALUES (10);
46
47 END-OF-DATA
48 then
49    echo "Update of Bacula MySQL tables succeeded."
50 else
51    echo "Update of Bacula MySQL tables failed."
52 fi
53 exit 0