]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/cats/update_mysql_tables.in
- Add back JobId index for MySQL as default -- speeds up
[bacula/bacula] / bacula / src / cats / update_mysql_tables.in
1 #!/bin/sh
2 #
3 # Shell script to update MySQL tables from version 1.36 to 1.37.3
4 #
5 echo " "
6 echo "This script will update a Bacula MySQL database from version 8 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 LabelType INTEGER UNSIGNED NOT NULL DEFAULT 0;
16 ALTER TABLE Media ADD COLUMN StorageId INTEGER UNSIGNED DEFAULT 0 REFERENCES Storage;
17 ALTER TABLE Media ADD COLUMN VolParts INTEGER UNSIGNED NOT NULL DEFAULT 0;
18
19 ALTER TABLE Pool  ADD COLUMN LabelType INTEGER UNSIGNED NOT NULL DEFAULT 0;
20 ALTER TABLE Pool  ADD COLUMN NextPoolId INTEGER UNSIGNED DEFAULT 0 REFERENCES Pool;
21 ALTER TABLE Pool  ADD COLUMN MigrationHighBytes BIGINT UNSIGNED DEFAULT 0;
22 ALTER TABLE Pool  ADD COLUMN MigrationLowBytes BIGINT UNSIGNED DEFAULT 0;
23 ALTER TABLE Pool  ADD COLUMN MigrationTime BIGINT UNSIGNED DEFAULT 0;
24
25 CREATE TABLE MediaType (
26    MediaTypeId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
27    MediaType VARCHAR(128) NOT NULL,
28    ReadOnly TINYINT DEFAULT 0,
29    PRIMARY KEY(MediaTypeId)
30    );
31
32 CREATE TABLE Device (
33    DeviceId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
34    Name VARCHAR(128) NOT NULL,
35    MediaTypeId INTEGER UNSIGNED NOT NULL REFERENCES MediaType,
36    StorageId INTEGER UNSIGNED REFERENCES Storage,
37    DevMounts INTEGER UNSIGNED DEFAULT 0,
38    DevReadBytes BIGINT UNSIGNED DEFAULT 0,
39    DevWriteBytes BIGINT UNSIGNED DEFAULT 0,
40    DevReadBytesSinceCleaning BIGINT UNSIGNED DEFAULT 0,
41    DevWriteBytesSinceCleaning BIGINT UNSIGNED DEFAULT 0,
42    DevReadTime BIGINT UNSIGNED DEFAULT 0,
43    DevWriteTime BIGINT UNSIGNED DEFAULT 0,
44    DevReadTimeSinceCleaning BIGINT UNSIGNED DEFAULT 0,
45    DevWriteTimeSinceCleaning BIGINT UNSIGNED DEFAULT 0,
46    CleaningDate DATETIME DEFAULT 0,
47    CleaningPeriod BIGINT UNSIGNED DEFAULT 0,
48    PRIMARY KEY(DeviceId)
49    );
50
51 CREATE TABLE Storage (
52    StorageId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
53    Name VARCHAR(128) NOT NULL,
54    AutoChanger TINYINT DEFAULT 0,
55    PRIMARY KEY(StorageId)
56    );
57
58 END-OF-DATA
59 then
60    echo "Update of Bacula MySQL tables succeeded."
61 else
62    echo "Update of Bacula MySQL tables failed."
63 fi
64 exit 0