]> git.ipfire.org Git - thirdparty/bacula.git/commitdiff
Fix typos in previous commit + make update_mysql_tables have new defaults too
authorKern Sibbald <kern@sibbald.com>
Tue, 7 Aug 2018 18:10:44 +0000 (20:10 +0200)
committerKern Sibbald <kern@sibbald.com>
Tue, 7 Aug 2018 18:10:44 +0000 (20:10 +0200)
bacula/src/cats/make_mysql_tables.in
bacula/src/cats/update_mysql_tables.in

index f8d8d1b640d6e7b3d9ebf8a881aa593aa8c9fcbb..db5fc9ebab974381072d418cc3be436a6b75707c 100644 (file)
@@ -177,7 +177,7 @@ CREATE TABLE JobHisto (
    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,
@@ -213,7 +213,7 @@ CREATE TABLE Location (
 
 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,
index 0c7329281cc182560775a344f2f6efe3d1332151..81e9163b6e51c647f6bffd613fb4b71ca777c991 100644 (file)
@@ -7,7 +7,7 @@
 #  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."
@@ -35,10 +35,10 @@ if [ "x$DBVERSION" = x ]; then
     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
@@ -175,6 +175,28 @@ ALTER TABLE Log    ALTER COLUMN Time DROP DEFAULT;
 # 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
@@ -186,5 +208,45 @@ END-OF-DATA
     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