Level BINARY(1) NOT NULL,
ClientId INTEGER DEFAULT 0,
JobStatus BINARY(1) NOT NULL,
- SchedTime DATETIME DEFAULT NULL
+ SchedTime DATETIME DEFAULT NULL,
StartTime DATETIME DEFAULT NULL,
EndTime DATETIME DEFAULT NULL,
RealEndTime DATETIME DEFAULT NULL,
CREATE TABLE LocationLog (
LocLogId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
- Date DATETIME DEFAULT NULL
+ Date DATETIME DEFAULT NULL,
Comment BLOB NOT NULL,
MediaId INTEGER UNSIGNED DEFAULT 0 REFERENCES Media,
LocationId INTEGER UNSIGNED DEFAULT 0 REFERENCES Location,
# 5.0.x, 5.2.x, 7.0.x, 7.2.x, 7.4.x
#
echo " "
-echo "This script will update a Bacula MySQL database from version 12-15 to 16"
+echo "This script will update a Bacula MySQL database from version 12-16 to 16"
echo " "
echo "Depending on the current version of your catalog,"
echo "you may have to run this script multiple times."
exit 1
fi
-if [ "$DBVERSION" -lt 12 -o "$DBVERSION" -gt 15 ] ; then
+if [ "$DBVERSION" -lt 12 -o "$DBVERSION" -gt 16 ] ; then
echo " "
echo "The existing database is version $DBVERSION !!"
- echo "This script can only update an existing version 12-15 to version 16."
+ echo "This script can only update an existing version 12-16 to version 16."
echo "Error. Cannot upgrade this database."
echo " "
exit 1
# speeds up restore selection if many files and accurate
CREATE INDEX job_jobtdate_idx ON Job (JobTDate);
+ALTER TABLE Device
+ MODIFY CleaningDate DATETIME DEFAULT NULL;
+ALTER TABLE Media
+ MODIFY FirstWritten DATETIME DEFAULT NULL,
+ MODIFY LastWritten DATETIME DEFAULT NULL,
+ MODIFY LabelDate DATETIME DEFAULT NULL,
+ MODIFY InitialWrite DATETIME DEFAULT NULL;
+ALTER TABLE Job
+ MODIFY SchedTime DATETIME DEFAULT NULL,
+ MODIFY StartTime DATETIME DEFAULT NULL,
+ MODIFY EndTime DATETIME DEFAULT NULL,
+ MODIFY RealEndTime DATETIME DEFAULT NULL;
+ALTER TABLE JobHisto
+ MODIFY SchedTime DATETIME DEFAULT NULL,
+ MODIFY StartTime DATETIME DEFAULT NULL,
+ MODIFY EndTime DATETIME DEFAULT NULL,
+ MODIFY RealEndTime DATETIME DEFAULT NULL;
+ALTER TABLE LocationLog
+ MODIFY Date DATETIME DEFAULT NULL;
+ALTER TABLE CDImages
+ MODIFY LastBurn DATETIME DEFAULT NULL;
+
UPDATE Version SET VersionId=16;
END-OF-DATA
then
fi
fi
+#
+# Update version 16 to be more robust for newer more
+# strict MySQLs. Note: this is a post-first release
+# fix.
+#
+if [ "$DBVERSION" -eq 16 ] ; then
+ if mysql $* -f <<END-OF-DATA
+USE ${db_name};
+ALTER TABLE Device
+ MODIFY CleaningDate DATETIME DEFAULT NULL;
+ALTER TABLE Media
+ MODIFY FirstWritten DATETIME DEFAULT NULL,
+ MODIFY LastWritten DATETIME DEFAULT NULL,
+ MODIFY LabelDate DATETIME DEFAULT NULL,
+ MODIFY InitialWrite DATETIME DEFAULT NULL;
+ALTER TABLE Job
+ MODIFY SchedTime DATETIME DEFAULT NULL,
+ MODIFY StartTime DATETIME DEFAULT NULL,
+ MODIFY EndTime DATETIME DEFAULT NULL,
+ MODIFY RealEndTime DATETIME DEFAULT NULL;
+ALTER TABLE JobHisto
+ MODIFY SchedTime DATETIME DEFAULT NULL,
+ MODIFY StartTime DATETIME DEFAULT NULL,
+ MODIFY EndTime DATETIME DEFAULT NULL,
+ MODIFY RealEndTime DATETIME DEFAULT NULL;
+ALTER TABLE LocationLog
+ MODIFY Date DATETIME DEFAULT NULL;
+ALTER TABLE CDImages
+ MODIFY LastBurn DATETIME DEFAULT NULL;
+
+END-OF-DATA
+ then
+ echo "Update of Bacula MySQL tables 16 to 16 succeeded."
+ getVersion
+ else
+ echo "Update of Bacula MySQL tables 16 to 16 failed."
+ exit 1
+ fi
+fi
+
exit 0