]> git.ipfire.org Git - thirdparty/bacula.git/commitdiff
Sync update_mysql_database script with the community
authorEric Bollengier <eric@baculasystems.com>
Wed, 2 Jun 2021 08:17:04 +0000 (10:17 +0200)
committerEric Bollengier <eric@baculasystems.com>
Thu, 24 Mar 2022 08:03:02 +0000 (09:03 +0100)
bacula/src/cats/update_mysql_tables.in

index 6311f264cc5f5e7a8db56f1335660eb37c581bc7..44309999eeb9ea73114eb60522f5bde84eec8931 100644 (file)
@@ -136,10 +136,11 @@ if [ "$DBVERSION" -eq 1014 ] ; then
     if mysql $* -f <<END-OF-DATA
 USE ${db_name};
 
-ALTER TABLE Media ADD COLUMN VolABytes BIGINT UNSIGNED DEFAULT 0;
-ALTER TABLE Media ADD COLUMN VolAPadding BIGINT UNSIGNED DEFAULT 0;
-ALTER TABLE Media ADD COLUMN VolHoleBytes BIGINT UNSIGNED DEFAULT 0;
-ALTER TABLE Media ADD COLUMN VolHoles INTEGER UNSIGNED DEFAULT 0;
+ALTER TABLE Media
+    ADD COLUMN VolABytes BIGINT UNSIGNED DEFAULT 0,
+    ADD COLUMN VolAPadding BIGINT UNSIGNED DEFAULT 0,
+    ADD COLUMN VolHoleBytes BIGINT UNSIGNED DEFAULT 0,
+    ADD COLUMN VolHoles INTEGER UNSIGNED DEFAULT 0;
 UPDATE Version SET VersionId=1015;
 END-OF-DATA
     then
@@ -166,9 +167,14 @@ ALTER TABLE RestoreObject
 ALTER TABLE BaseFiles
    MODIFY FileIndex INTEGER UNSIGNED DEFAULT 0;
 
+-- If you re-execute the procedure, you can comment out
+-- these two lines
+
 DROP INDEX JobId on File;
 DROP INDEX JobId_2 on File;
 
+DROP TABLE IF EXISTS file_temp;
+
 CREATE TABLE file_temp (
    FileId BIGINT UNSIGNED NOT NULL,
    FileIndex INTEGER DEFAULT 0,
@@ -191,14 +197,16 @@ DROP TABLE Filename;
 DROP TABLE File;
 
 ALTER TABLE file_temp RENAME TO File;
-ALTER TABLE File ADD PRIMARY KEY (FileId);
-ALTER TABLE File MODIFY COLUMN FileId BIGINT UNSIGNED NOT NULL AUTO_INCREMENT;
-CREATE INDEX JobId on File (JobId);
-CREATE INDEX JobId_2 on File (JobId, PathId, Filename(255));
+ALTER TABLE File
+    ADD PRIMARY KEY (FileId),
+    MODIFY COLUMN FileId BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
+    ADD INDEX JobId (JobId),
+    ADD INDEX JobId_2 (JobId, PathId, Filename(255));
 
 ALTER TABLE Media CHANGE VolWrites VolWrites BIGINT UNSIGNED DEFAULT 0;
-ALTER TABLE UnsavedFiles DROP COLUMN FilenameId;
-ALTER TABLE UnsavedFiles ADD COLUMN Filename BLOB NOT NULL;
+ALTER TABLE UnsavedFiles
+    DROP COLUMN FilenameId,
+    ADD COLUMN Filename BLOB NOT NULL;
 
 UPDATE Version SET VersionId = 1017;
 
@@ -241,10 +249,11 @@ DROP TABLE Filename;
 DROP TABLE File;
 
 ALTER TABLE file_temp RENAME TO File;
-ALTER TABLE File ADD PRIMARY KEY (FileId);
-ALTER TABLE File MODIFY COLUMN FileId BIGINT UNSIGNED NOT NULL AUTO_INCREMENT;
-CREATE INDEX JobId on File (JobId);
-CREATE INDEX JobId_2 on File (JobId, PathId, Filename(255));
+ALTER TABLE File
+    ADD PRIMARY KEY (FileId),
+    MODIFY COLUMN FileId BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
+    ADD INDEX JobId (JobId),
+    ADD INDEX JobId_2 (JobId, PathId, Filename(255));
 
 ALTER TABLE Media CHANGE VolWrites VolWrites BIGINT UNSIGNED DEFAULT 0;
 ALTER TABLE Job ADD COLUMN FileTable CHAR(20) default 'File';
@@ -342,29 +351,32 @@ if [ "$DBVERSION" -eq 1018 ] ; then
     if mysql $* -f  <<END-OF-DATA
 USE ${db_name};
 ALTER TABLE BaseFiles MODIFY COLUMN BaseId BIGINT UNSIGNED NOT NULL AUTO_INCREMENT;
-ALTER TABLE Media CHANGE COLUMN VolParts VolType INTEGER UNSIGNED DEFAULT 0;
-ALTER TABLE Media ADD COLUMN VolParts INTEGER DEFAULT 0;
-ALTER TABLE Media ADD COLUMN VolCloudParts INTEGER DEFAULT 0;
-ALTER TABLE Media ADD COLUMN LastPartBytes BIGINT DEFAULT 0;
-ALTER TABLE Media ADD COLUMN CacheRetention BIGINT DEFAULT 0;
-ALTER TABLE Pool ADD COLUMN CacheRetention BIGINT DEFAULT 0;
+ALTER TABLE Media 
+   CHANGE COLUMN VolParts VolType INTEGER UNSIGNED DEFAULT 0,
+   ADD COLUMN VolParts INTEGER DEFAULT 0,
+   ADD COLUMN VolCloudParts INTEGER DEFAULT 0,
+   ADD COLUMN LastPartBytes BIGINT DEFAULT 0,
+   ADD COLUMN CacheRetention BIGINT DEFAULT 0;
 
 -- If you switch to MySQL 5.7
 ALTER TABLE Device ALTER COLUMN CleaningDate DROP DEFAULT;
-ALTER TABLE Job    ALTER COLUMN SchedTime    DROP DEFAULT;
-ALTER TABLE Job    ALTER COLUMN StartTime    DROP DEFAULT;
-ALTER TABLE Job    ALTER COLUMN EndTime      DROP DEFAULT;
-ALTER TABLE Job    ALTER COLUMN RealEndTime  DROP DEFAULT;
-ALTER TABLE JobHisto ALTER COLUMN SchedTime  DROP DEFAULT;
-ALTER TABLE JobHisto ALTER COLUMN StartTime  DROP DEFAULT;
-ALTER TABLE JobHisto ALTER COLUMN EndTime    DROP DEFAULT;
-ALTER TABLE JobHisto ALTER COLUMN RealEndTime DROP DEFAULT;
+ALTER TABLE Job
+    ALTER COLUMN SchedTime    DROP DEFAULT,
+    ALTER COLUMN StartTime    DROP DEFAULT,
+    ALTER COLUMN EndTime      DROP DEFAULT,
+    ALTER COLUMN RealEndTime  DROP DEFAULT;
+ALTER TABLE JobHisto
+    ALTER COLUMN SchedTime  DROP DEFAULT,
+    ALTER COLUMN StartTime  DROP DEFAULT,
+    ALTER COLUMN EndTime    DROP DEFAULT,
+    ALTER COLUMN RealEndTime DROP DEFAULT;
 ALTER TABLE LocationLog ALTER COLUMN Date DROP DEFAULT;
 ALTER TABLE FileSet    ALTER COLUMN CreateTime DROP DEFAULT;
-ALTER TABLE Media      ALTER COLUMN FirstWritten DROP DEFAULT;
-ALTER TABLE Media      ALTER COLUMN LastWritten DROP DEFAULT;
-ALTER TABLE Media      ALTER COLUMN LabelDate DROP DEFAULT;
-ALTER TABLE Media      ALTER COLUMN InitialWrite DROP DEFAULT;
+ALTER TABLE Media
+    ALTER COLUMN FirstWritten DROP DEFAULT,
+    ALTER COLUMN LastWritten DROP DEFAULT,
+    ALTER COLUMN LabelDate DROP DEFAULT,
+    ALTER COLUMN InitialWrite DROP DEFAULT;
 ALTER TABLE Log        ALTER COLUMN Time DROP DEFAULT;
 
 UPDATE Version SET VersionId=1019;