]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/cats/update_mysql_tables.in
2f8534798d46a5763d5f5f802ad3cf2a706becc8
[bacula/bacula] / bacula / src / cats / update_mysql_tables.in
1 #!/bin/sh
2 #
3 # Shell script to update MySQL tables from Bacula Enterprise 2.6 to 4.0 or
4 # Standard version 3.0 to 5.0
5 #
6 echo " "
7 echo "This script will update a Bacula MySQL database from version 11 to 12"
8 echo " which is needed to convert from Bacula Enterprise 2.6 to 4.0 or "
9 echo " Standard version 3.0 to 5.0"
10 echo " "
11 bindir=@SQL_BINDIR@
12 PATH="$bindir:$PATH"
13 db_name=@db_name@
14
15 if mysql $* -f <<END-OF-DATA
16 USE ${db_name};
17
18 ALTER TABLE JobMedia DROP Stripe ;
19 ALTER TABLE JobMedia DROP Copy ;
20 ALTER TABLE Job ADD COLUMN HasCache tinyint default 0 after HasBase;
21 ALTER TABLE Job ADD COLUMN Reviewed tinyint default 0 after HasCache;
22 ALTER TABLE Job ADD COLUMN Comment BLOB AFTER Reviewed;
23 ALTER TABLE JobHisto ADD COLUMN HasCache tinyint default 0 after HasBase;
24 ALTER TABLE JobHisto ADD COLUMN Reviewed tinyint default 0 after HasCache;
25 ALTER TABLE JobHisto ADD COLUMN Comment BLOB AFTER Reviewed;
26
27 ALTER TABLE Status ADD COLUMN Severity int;
28 UPDATE Status SET Severity = 15;
29 UPDATE Status SET Severity = 100 where JobStatus = 'f';
30 UPDATE Status SET Severity = 90 where JobStatus = 'A';
31 UPDATE Status SET Severity = 10 where JobStatus = 'T';
32 UPDATE Status SET Severity = 20 where JobStatus = 'e';
33 UPDATE Status SET Severity = 25 where JobStatus = 'E';
34
35 CREATE TABLE PathHierarchy
36 (
37      PathId integer NOT NULL,
38      PPathId integer NOT NULL,
39      CONSTRAINT pathhierarchy_pkey PRIMARY KEY (PathId)
40 );
41
42 CREATE INDEX pathhierarchy_ppathid 
43           ON PathHierarchy (PPathId);
44
45 CREATE TABLE PathVisibility
46 (
47       PathId integer NOT NULL,
48       JobId integer NOT NULL,
49       Size int8 DEFAULT 0,
50       Files int4 DEFAULT 0,
51       CONSTRAINT pathvisibility_pkey PRIMARY KEY (JobId, PathId)
52 );
53 CREATE INDEX pathvisibility_jobid
54              ON PathVisibility (JobId);
55
56 CREATE INDEX basefiles_jobid_idx ON BaseFiles ( JobId );
57
58 DELETE FROM Version;
59 INSERT INTO Version (VersionId) VALUES (12);
60
61 END-OF-DATA
62 then
63    echo "Update of Bacula MySQL tables succeeded."
64 else
65    echo "Update of Bacula MySQL tables failed."
66 fi
67 exit 0