]> git.sur5r.net Git - bacula/bacula/commitdiff
Rename updatedb scripts for uniformity. Adeed code to 6_to7 scripts to check db.
authorScott Barninger <scott@barninger.com>
Wed, 18 Feb 2004 21:23:04 +0000 (21:23 +0000)
committerScott Barninger <scott@barninger.com>
Wed, 18 Feb 2004 21:23:04 +0000 (21:23 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@1060 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/updatedb/update_mysql_tables_4_to_5 [new file with mode: 0755]
bacula/updatedb/update_mysql_tables_5_to_6 [new file with mode: 0755]
bacula/updatedb/update_mysql_tables_6_to_7
bacula/updatedb/update_sqlite_tables_4_to_5 [new file with mode: 0755]
bacula/updatedb/update_sqlite_tables_5_to_6 [new file with mode: 0755]
bacula/updatedb/update_sqlite_tables_6_to_7

diff --git a/bacula/updatedb/update_mysql_tables_4_to_5 b/bacula/updatedb/update_mysql_tables_4_to_5
new file mode 100755 (executable)
index 0000000..0a797e4
--- /dev/null
@@ -0,0 +1,48 @@
+#!/bin/sh
+#
+# Shell script to update MySQL tables from version 1.22 to 1.23
+#
+echo " "
+echo "This script will update a bacula database from version 4 to 5."
+echo "Depending on the size of your database,"
+echo "this script may take several minutes to run."
+echo " "
+
+# the location of the mysql program
+bindir=/usr/bin
+
+DB_VER=`$bindir/mysql bacula -e 'select * from Version;'|tail -n 1 2>/dev/null`
+if [ -z "$DB_VER" ]; then
+       echo "Sorry, I can't seem to locate a bacula database."
+       exit 1
+fi
+
+if [ -n "$DB_VER" ] && [ "$DB_VER" -ne "4" ]; then
+       echo "Sorry, this script is designed to update a version 4 database"
+       echo "and you have a version $DB_VER database."
+       exit 1
+fi
+
+if $bindir/mysql -f <<END-OF-DATA
+USE bacula;
+ALTER TABLE Media ADD COLUMN VolUseDuration BIGINT UNSIGNED NOT NULL;
+ALTER TABLE Media ADD COLUMN MaxVolJobs INTEGER UNSIGNED NOT NULL;
+ALTER TABLE Media ADD COLUMN MaxVolFiles INTEGER UNSIGNED NOT NULL;
+ALTER TABLE Pool ADD COLUMN VolUseDuration BIGINT UNSIGNED NOT NULL;
+ALTER TABLE Pool ADD COLUMN MaxVolJobs INTEGER UNSIGNED NOT NULL;
+ALTER TABLE Pool ADD COLUMN MaxVolFiles INTEGER UNSIGNED NOT NULL;
+ALTER TABLE Pool ADD COLUMN MaxVolBytes BIGINT UNSIGNED NOT NULL;
+ALTER TABLE Media MODIFY VolStatus  ENUM('Full', 'Archive', 'Append', 
+           'Recycle', 'Purged', 'Read-Only', 'Disabled', 'Error', 
+           'Busy', 'Used') NOT NULL;
+ALTER TABLE Media CHANGE VolMaxBytes MaxVolBytes BIGINT UNSIGNED NOT NULL;
+
+UPDATE Version SET VersionId=5;
+
+END-OF-DATA
+then
+   echo "Update of Bacula tables succeeded."
+else
+   echo "Update of Bacula tables failed."
+fi
+exit 0
diff --git a/bacula/updatedb/update_mysql_tables_5_to_6 b/bacula/updatedb/update_mysql_tables_5_to_6
new file mode 100755 (executable)
index 0000000..9834228
--- /dev/null
@@ -0,0 +1,97 @@
+#!/bin/sh
+#
+# Shell script to update MySQL tables from version 1.29 to 1.30
+#
+echo " "
+echo "This script will update a bacula database from version 5 to 6."
+echo "Depending on the size of your database,"
+echo "this script may take several minutes to run."
+echo " "
+
+# the location of the mysql program
+bindir=/usr/bin
+
+DB_VER=`$bindir/mysql bacula -e 'select * from Version;'|tail -n 1 2>/dev/null`
+if [ -z "$DB_VER" ]; then
+       echo "Sorry, I can't seem to locate a bacula database."
+       exit 1
+fi
+
+if [ -n "$DB_VER" ] && [ "$DB_VER" -ne "5" ]; then
+       echo "Sorry, this script is designed to update a version 5 database"
+       echo "and you have a version $DB_VER database."
+       exit 1
+fi
+
+if $bindir/mysql $* -f <<END-OF-DATA
+USE bacula;
+
+ALTER TABLE JobMedia ADD COLUMN VolIndex INTEGER UNSIGNED NOT NULL;
+
+ALTER TABLE Job ADD COLUMN HasBase TINYINT DEFAULT 0;
+
+CREATE TABLE FileSet_backup (
+   FileSetId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+   FileSet TINYBLOB NOT NULL,
+   MD5 TINYBLOB NOT NULL,
+   PRIMARY KEY(FileSetId)
+   );
+INSERT INTO FileSet_backup SELECT * From FileSet;
+
+DROP TABLE FileSet;
+
+CREATE TABLE FileSet (
+   FileSetId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+   FileSet TINYBLOB NOT NULL,
+   MD5 TINYBLOB NOT NULL,
+   CreateTime DATETIME NOT NULL,
+   PRIMARY KEY(FileSetId)
+   );
+
+INSERT INTO FileSet (
+   FileSetId, FileSet, MD5, CreateTime) 
+   SELECT FileSet_backup.FileSetId,FileSet,MD5,StartTime as CreateTime
+     FROM FileSet_backup,Job
+     WHERE FileSet_backup.FileSetId=Job.FileSetId 
+     GROUP by FileSet_backup.FileSetId
+     ORDER BY Job.FileSetId;
+
+DROP TABLE FileSet_backup;
+
+
+CREATE TABLE BaseFiles (
+   BaseId INTEGER UNSIGNED AUTO_INCREMENT,
+   JobId INTEGER UNSIGNED NOT NULL REFERENCES Job,
+   FileId INTEGER UNSIGNED NOT NULL REFERENCES File,
+   FileIndex INTEGER UNSIGNED,
+   PRIMARY KEY(BaseId)
+   );
+
+CREATE TABLE UnsavedFiles (
+   UnsavedId INTEGER UNSIGNED AUTO_INCREMENT,
+   JobId INTEGER UNSIGNED NOT NULL REFERENCES Job,
+   PathId INTEGER UNSIGNED NOT NULL REFERENCES Path,
+   FilenameId INTEGER UNSIGNED NOT NULL REFERENCES Filename,
+   PRIMARY KEY (UnsavedId)
+   );
+
+DROP TABLE Counters;
+
+CREATE TABLE Counters (
+   Counter TINYBLOB NOT NULL,
+   MinValue INTEGER,
+   MaxValue INTEGER,
+   CurrentValue INTEGER,
+   WrapCounter TINYBLOB NOT NULL,
+   PRIMARY KEY (Counter(128))
+   );
+
+UPDATE Version SET VersionId=6;
+
+END-OF-DATA
+then
+   echo "Update of Bacula MySQL tables succeeded."
+else
+   echo "Update of Bacula MySQL tables failed."
+fi
+exit 0
index 9eacdb0696f97df4f848ace14e39b9f98f6277e7..6507d97ed5c4d1252a18697cdba339dd1de34da3 100755 (executable)
@@ -11,6 +11,18 @@ echo " "
 # the location of the mysql program
 bindir=/usr/bin
 
+DB_VER=`$bindir/mysql bacula -e 'select * from Version;'|tail -n 1 2>/dev/null`
+if [ -z "$DB_VER" ]; then
+       echo "Sorry, I can't seem to locate a bacula database."
+       exit 1
+fi
+
+if [ -n "$DB_VER" ] && [ "$DB_VER" -ne "6" ]; then
+       echo "Sorry, this script is designed to update a version 6 database"
+       echo "and you have a version $DB_VER database."
+       exit 1
+fi
+
 if $bindir/mysql $* -f <<END-OF-DATA
 USE bacula;
 
diff --git a/bacula/updatedb/update_sqlite_tables_4_to_5 b/bacula/updatedb/update_sqlite_tables_4_to_5
new file mode 100755 (executable)
index 0000000..8cf7202
--- /dev/null
@@ -0,0 +1,145 @@
+#!/bin/sh
+#
+# shell script to update SQLite from version 1.22 to 1.23
+#
+echo " "
+echo "This script will update a bacula database from version 4 to 5."
+echo "Depending on the size of your database,"
+echo "this script may take several minutes to run."
+echo " "
+
+# The location of the sqlite program
+bindir=/usr/lib/sqlite
+# The location of your bacula working directory
+cd /var/bacula
+
+if [ -s bacula.db ];then
+       DB_VER=`echo "select * from Version;" | $bindir/sqlite bacula.db | tail -n 1 2>/dev/null`
+       if [ -n "$DB_VER" ] && [ "$DB_VER" -ne "4" ]; then
+               echo "Sorry, this script is designed to update a version 4 database"
+               echo "and you have a version $DB_VER database."
+               exit 1
+       fi
+else
+       echo "Sorry, I can't seem to locate a bacula database."
+       exit 1
+fi
+
+$bindir/sqlite bacula.db <<END-OF-DATA
+
+BEGIN TRANSACTION;
+CREATE TEMPORARY TABLE Media_backup (
+   MediaId INTEGER UNSIGNED AUTOINCREMENT,
+   VolumeName VARCHAR(128) NOT NULL,
+   Slot INTEGER DEFAULT 0,
+   PoolId INTEGER UNSIGNED REFERENCES Pool NOT NULL,
+   MediaType VARCHAR(128) NOT NULL,
+   FirstWritten DATETIME DEFAULT 0,
+   LastWritten DATETIME DEFAULT 0,
+   LabelDate DATETIME DEFAULT 0,
+   VolJobs INTEGER UNSIGNED DEFAULT 0,
+   VolFiles INTEGER UNSIGNED DEFAULT 0,
+   VolBlocks INTEGER UNSIGNED DEFAULT 0,
+   VolMounts INTEGER UNSIGNED DEFAULT 0,
+   VolBytes BIGINT UNSIGNED DEFAULT 0,
+   VolErrors INTEGER UNSIGNED DEFAULT 0,
+   VolWrites INTEGER UNSIGNED DEFAULT 0,
+   VolMaxBytes BIGINT UNSIGNED DEFAULT 0,
+   VolCapacityBytes BIGINT UNSIGNED DEFAULT 0,
+   VolStatus VARCHAR(20) NOT NULL,
+   Recycle TINYINT DEFAULT 0,
+   VolRetention BIGINT UNSIGNED DEFAULT 0,
+   PRIMARY KEY(MediaId)
+   );
+INSERT INTO Media_backup SELECT * FROM Media;
+DROP TABLE Media;
+CREATE TABLE Media (
+   MediaId INTEGER UNSIGNED AUTOINCREMENT,
+   VolumeName VARCHAR(128) NOT NULL,
+   Slot INTEGER DEFAULT 0,
+   PoolId INTEGER UNSIGNED REFERENCES Pool NOT NULL,
+   MediaType VARCHAR(128) NOT NULL,
+   FirstWritten DATETIME DEFAULT 0,
+   LastWritten DATETIME DEFAULT 0,
+   LabelDate DATETIME DEFAULT 0,
+   VolJobs INTEGER UNSIGNED DEFAULT 0,
+   VolFiles INTEGER UNSIGNED DEFAULT 0,
+   VolBlocks INTEGER UNSIGNED DEFAULT 0,
+   VolMounts INTEGER UNSIGNED DEFAULT 0,
+   VolBytes BIGINT UNSIGNED DEFAULT 0,
+   VolErrors INTEGER UNSIGNED DEFAULT 0,
+   VolWrites INTEGER UNSIGNED DEFAULT 0,
+   MaxVolBytes BIGINT UNSIGNED DEFAULT 0,
+   VolCapacityBytes BIGINT UNSIGNED DEFAULT 0,
+   VolStatus VARCHAR(20) NOT NULL,
+   Recycle TINYINT DEFAULT 0,
+   VolRetention BIGINT UNSIGNED DEFAULT 0,
+   VolUseDuration BIGINT UNSIGNED DEFAULT 0,
+   MaxVolJobs INTEGER UNSIGNED DEFAULT 0,
+   MaxVolFiles INTEGER UNSIGNED DEFAULT 0,
+   PRIMARY KEY(MediaId)
+   );
+INSERT INTO Media (
+   MediaId,VolumeName,Slot,PoolId,MediaType,
+   FirstWritten,LastWritten,LabelDate,
+   VolJobs,VolFiles,VolBlocks,VolMounts,
+   VolBytes,VolErrors,VolWrites,MaxVolBytes,
+   VolCapacityBytes,VolStatus,Recycle,
+   VolRetention)
+   SELECT * FROM Media_backup;
+DROP TABLE Media_backup;
+COMMIT;
+
+
+BEGIN TRANSACTION;
+CREATE TEMPORARY TABLE Pool_backup (
+   PoolId INTEGER UNSIGNED AUTOINCREMENT,
+   Name VARCHAR(128) NOT NULL,
+   NumVols INTEGER UNSIGNED DEFAULT 0,
+   MaxVols INTEGER UNSIGNED DEFAULT 0,
+   UseOnce TINYINT DEFAULT 0,
+   UseCatalog TINYINT DEFAULT 1,
+   AcceptAnyVolume TINYINT DEFAULT 0,
+   VolRetention BIGINT UNSIGNED DEFAULT 0,
+   AutoPrune TINYINT DEFAULT 0,
+   Recycle TINYINT DEFAULT 0,
+   PoolType VARCHAR(20) NOT NULL,
+   LabelFormat VARCHAR(128) NOT NULL,
+   UNIQUE (Name),
+   PRIMARY KEY (PoolId)
+   );
+INSERT INTO Pool_backup SELECT * FROM Pool;
+DROP TABLE Pool;
+CREATE TABLE Pool (
+   PoolId INTEGER UNSIGNED AUTOINCREMENT,
+   Name VARCHAR(128) NOT NULL,
+   NumVols INTEGER UNSIGNED DEFAULT 0,
+   MaxVols INTEGER UNSIGNED DEFAULT 0,
+   UseOnce TINYINT DEFAULT 0,
+   UseCatalog TINYINT DEFAULT 1,
+   AcceptAnyVolume TINYINT DEFAULT 0,
+   VolRetention BIGINT UNSIGNED DEFAULT 0,
+   VolUseDuration BIGINT UNSIGNED DEFAULT 0,
+   MaxVolJobs INTEGER UNSIGNED DEFAULT 0,
+   MaxVolFiles INTEGER UNSIGNED DEFAULT 0,
+   MaxVolBytes INTEGER UNSIGNED DEFAULT 0,
+   AutoPrune TINYINT DEFAULT 0,
+   Recycle TINYINT DEFAULT 0,
+   PoolType VARCHAR(20) NOT NULL,
+   LabelFormat VARCHAR(128) NOT NULL,
+   UNIQUE (Name),
+   PRIMARY KEY (PoolId)
+   );
+
+INSERT INTO Pool (
+   PoolId,Name,NumVols,MaxVols,UseOnce,
+   UseCatalog,AcceptAnyVolume,VolRetention,
+   AutoPrune,Recycle,PoolType,LabelFormat
+   )
+   SELECT * FROM Pool_backup;
+DROP TABLE Pool_backup;
+COMMIT;
+
+UPDATE Version SET VersionId=5;
+
+END-OF-DATA
diff --git a/bacula/updatedb/update_sqlite_tables_5_to_6 b/bacula/updatedb/update_sqlite_tables_5_to_6
new file mode 100755 (executable)
index 0000000..dd4a823
--- /dev/null
@@ -0,0 +1,175 @@
+#!/bin/sh
+#
+# shell script to update SQLite from version 1.29 to 1.30
+#
+echo " "
+echo "This script will update a bacula database from version 5 to 6."
+echo "Depending on the size of your database,"
+echo "this script may take several minutes to run."
+echo " "
+
+# The location of the sqlite program
+bindir=/usr/lib/sqlite
+# The location of your bacula working directory
+cd /var/bacula
+
+if [ -s bacula.db ];then
+       DB_VER=`echo "select * from Version;" | $bindir/sqlite bacula.db | tail -n 1 2>/dev/null`
+       if [ -n "$DB_VER" ] && [ "$DB_VER" -ne "5" ]; then
+               echo "Sorry, this script is designed to update a version 5 database"
+               echo "and you have a version $DB_VER database."
+               exit 1
+       fi
+else
+       echo "Sorry, I can't seem to locate a bacula database."
+       exit 1
+fi
+
+$bindir/sqlite $* bacula.db <<END-OF-DATA
+
+BEGIN TRANSACTION;
+CREATE TEMPORARY TABLE FileSet_backup (
+   FileSetId INTEGER UNSIGNED AUTOINCREMENT,
+   FileSet VARCHAR(128) NOT NULL,
+   MD5 VARCHAR(25) NOT NULL,
+   PRIMARY KEY(FileSetId)
+   );
+INSERT INTO FileSet_backup SELECT * From FileSet;
+
+DROP TABLE FileSet;
+CREATE TABLE FileSet (
+   FileSetId INTEGER UNSIGNED AUTOINCREMENT,
+   FileSet VARCHAR(128) NOT NULL,
+   MD5 VARCHAR(25) NOT NULL,
+   CreateTime DATETIME DEFAULT 0,
+   PRIMARY KEY(FileSetId)
+   );
+INSERT INTO FileSet (
+   FileSetId, FileSet, MD5, CreateTime) 
+   SELECT FileSet_backup.FileSetId,FileSet,MD5,StartTime FROM FileSet_backup,Job
+     WHERE FileSet_backup.FileSetId=Job.FileSetId GROUP by FileSet_backup.FileSetId
+     ORDER BY Job.FileSetId;
+
+DROP TABLE FileSet_backup;
+COMMIT;
+
+
+BEGIN TRANSACTION;
+CREATE TEMPORARY TABLE Job_backup (
+   JobId INTEGER UNSIGNED NOT NULL,
+   Job VARCHAR(128) NOT NULL,
+   Name VARCHAR(128) NOT NULL,
+   PurgedFiles TINYINT DEFAULT 0,
+   Type CHAR NOT NULL,
+   Level CHAR NOT NULL,
+   ClientId INTEGER REFERENCES Client DEFAULT 0,
+   JobStatus CHAR NOT NULL,
+   SchedTime DATETIME NOT NULL,
+   StartTime DATETIME DEFAULT 0,
+   EndTime DATETIME DEFAULT 0,
+   JobTDate BIGINT UNSIGNED DEFAULT 0,
+   VolSessionId INTEGER UNSIGNED DEFAULT 0,
+   VolSessionTime INTEGER UNSIGNED DEFAULT 0,
+   JobFiles INTEGER UNSIGNED DEFAULT 0,
+   JobBytes BIGINT UNSIGNED DEFAULT 0,
+   JobErrors INTEGER UNSIGNED DEFAULT 0,
+   JobMissingFiles INTEGER UNSIGNED DEFAULT 0,
+   PoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
+   FileSetId INTEGER UNSIGNED REFERENCES FileSet DEFAULT 0 
+   );
+INSERT INTO Job_backup SELECT * From Job;
+
+DROP TABLE Job;
+CREATE TABLE Job (
+   JobId INTEGER UNSIGNED NOT NULL,
+   Job VARCHAR(128) NOT NULL,
+   Name VARCHAR(128) NOT NULL,
+   PurgedFiles TINYINT DEFAULT 0,
+   Type CHAR NOT NULL,
+   Level CHAR NOT NULL,
+   ClientId INTEGER REFERENCES Client DEFAULT 0,
+   JobStatus CHAR NOT NULL,
+   SchedTime DATETIME NOT NULL,
+   StartTime DATETIME DEFAULT 0,
+   EndTime DATETIME DEFAULT 0,
+   JobTDate BIGINT UNSIGNED DEFAULT 0,
+   VolSessionId INTEGER UNSIGNED DEFAULT 0,
+   VolSessionTime INTEGER UNSIGNED DEFAULT 0,
+   JobFiles INTEGER UNSIGNED DEFAULT 0,
+   JobBytes BIGINT UNSIGNED DEFAULT 0,
+   JobErrors INTEGER UNSIGNED DEFAULT 0,
+   JobMissingFiles INTEGER UNSIGNED DEFAULT 0,
+   PoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
+   FileSetId INTEGER UNSIGNED REFERENCES FileSet DEFAULT 0,
+   HasBase TINYINT DEFAULT 0,
+   PRIMARY KEY(JobId) 
+   );
+INSERT INTO Job (JobId,Job,Name,PurgedFiles,
+   Type,Level,ClientId,JobStatus,SchedTime,
+   StartTime,EndTime,JobTDate,VolSessionId,
+   VolSessionTime,JobFiles,JobBytes,JobErrors,
+   JobMissingFiles,PoolId,FileSetId)                                             
+   SELECT * FROM Job_backup;
+DROP TABLE Job_backup;
+COMMIT;
+
+
+BEGIN TRANSACTION;
+CREATE TEMPORARY TABLE JobMedia_backup (
+   JobMediaId INTEGER UNSIGNED AUTOINCREMENT,
+   JobId INTEGER UNSIGNED REFERENCES Job NOT NULL,
+   MediaId INTEGER UNSIGNED REFERENCES Media NOT NULL,
+   FirstIndex INTEGER UNSIGNED NOT NULL,
+   LastIndex INTEGER UNSIGNED NOT NULL,
+   StartFile INTEGER UNSIGNED DEFAULT 0,
+   EndFile INTEGER UNSIGNED DEFAULT 0,
+   StartBlock INTEGER UNSIGNED DEFAULT 0,
+   EndBlock INTEGER UNSIGNED DEFAULT 0,
+   PRIMARY KEY(JobMediaId) 
+   );
+INSERT INTO JobMedia_backup SELECT * From JobMedia;
+
+DROP TABLE JobMedia;
+CREATE TABLE JobMedia (
+   JobMediaId INTEGER UNSIGNED AUTOINCREMENT,
+   JobId INTEGER UNSIGNED REFERENCES Job NOT NULL,
+   MediaId INTEGER UNSIGNED REFERENCES Media NOT NULL,
+   FirstIndex INTEGER UNSIGNED NOT NULL,
+   LastIndex INTEGER UNSIGNED NOT NULL,
+   StartFile INTEGER UNSIGNED DEFAULT 0,
+   EndFile INTEGER UNSIGNED DEFAULT 0,
+   StartBlock INTEGER UNSIGNED DEFAULT 0,
+   EndBlock INTEGER UNSIGNED DEFAULT 0,
+   VolIndex INTEGER UNSIGNED DEFAULT 0,
+   PRIMARY KEY(JobMediaId) 
+   );
+INSERT INTO JobMedia (
+   JobMediaId,JobId,MediaId,FirstIndex,
+   LastIndex,StartFile,EndFile,StartBlock,
+   EndBlock)
+   SELECT * FROM JobMedia_backup;
+DROP TABLE JobMedia_backup;
+COMMIT;
+
+CREATE TABLE BaseFiles (
+   BaseId INTEGER UNSIGNED AUTOINCREMENT,
+   JobId INTEGER UNSIGNED REFERENCES Job NOT NULL,
+   FileId INTEGER UNSIGNED REFERENCES File NOT NULL,
+   FileIndex INTEGER UNSIGNED,
+   PRIMARY KEY(BaseId)
+   );
+
+DROP TABLE Counters;
+
+CREATE TABLE Counters (
+   Counter TEXT NOT NULL,     
+   MinValue INTEGER DEFAULT 0, 
+   MaxValue INTEGER DEFAULT 0,
+   CurrentValue INTEGER DEFAULT 0,
+   WrapCounter TEXT NOT NULL,
+   PRIMARY KEY (Counter)
+   );
+
+UPDATE Version SET VersionId=6;
+
+END-OF-DATA
index 3b5edd7d868be28e6fe1f5b96c6ecd62baa8eb25..5dfd0ba9c1b6e157625eb9d13e87d8408879bcd5 100755 (executable)
@@ -13,6 +13,18 @@ bindir=/usr/lib/sqlite
 # The location of your bacula working directory
 cd /var/bacula
 
+if [ -s bacula.db ];then
+       DB_VER=`echo "select * from Version;" | $bindir/sqlite bacula.db | tail -n 1 2>/dev/null`
+       if [ -n "$DB_VER" ] && [ "$DB_VER" -ne "6" ]; then
+               echo "Sorry, this script is designed to update a version 6 database"
+               echo "and you have a version $DB_VER database."
+               exit 1
+       fi
+else
+       echo "Sorry, I can't seem to locate a bacula database."
+       exit 1
+fi
+
 $bindir/sqlite $* bacula.db <<END-OF-DATA
 
 BEGIN TRANSACTION;