]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/cats/update_sqlite3_tables.in
Revert to using LGPLv3 for simple scripts
[bacula/bacula] / bacula / src / cats / update_sqlite3_tables.in
1 #!/bin/sh
2 #
3 # Shell script to update sqlite3 tables from Bacula Community version 5.0.x to 5.2.x
4 #
5 #  Author:  Kern Sibbald
6 #  License: LGPLv3
7 #
8
9 echo " "
10 echo "This script will update a Bacula sqlite3 database from version 12 to 14"
11 echo "  which is needed to convert from Bacula Community version 5.0.x to 5.2.x"
12 echo " "
13
14 bindir=@SQLITE_BINDIR@
15 PATH="$bindir:$PATH"
16 cd @working_dir@
17 db_name=@db_name@
18
19 DBVERSION=`sqlite3 ${db_name}.db <<END
20 select VersionId from Version;
21 END
22 `
23 if [ $DBVERSION != 12 ] ; then
24    echo " "
25    echo "The existing database is version $DBVERSION !!"
26    echo "This script can only update an existing version 12 database to version 14."
27    echo "Error. Cannot upgrade this database."
28    echo " "
29    exit 1
30 fi
31
32 sqlite3 $* ${db_name}.db <<END-OF-DATA
33 BEGIN;
34
35 CREATE TABLE RestoreObject (
36    RestoreObjectId INTEGER,
37    ObjectName TEXT DEFAULT '',
38    RestoreObject TEXT DEFAULT '',
39    PluginName TEXT DEFAULT '',
40    ObjectLength INTEGER DEFAULT 0,
41    ObjectFullLength INTEGER DEFAULT 0,
42    ObjectIndex INTEGER DEFAULT 0,
43    ObjectType INTEGER DEFAULT 0,
44    FileIndex INTEGER UNSIGNED DEFAULT 0,
45    ObjectCompression INTEGER DEFAULT 0,
46    JobId INTEGER UNSIGNED REFERENCES Job NOT NULL,
47    PRIMARY KEY(RestoreObjectId)
48    );
49 CREATE INDEX restore_jobid_idx ON RestoreObject (JobId);
50
51 ALTER TABLE File ADD COLUMN DeltaSeq smallint default 0;
52
53 UPDATE Version SET VersionId=14;
54 COMMIT;
55
56 END-OF-DATA