]> git.ipfire.org Git - thirdparty/bacula.git/commitdiff
Fix update_mysql_tables script
authorEric Bollengier <eric@baculasystems.com>
Fri, 17 Feb 2023 17:22:26 +0000 (18:22 +0100)
committerEric Bollengier <eric@baculasystems.com>
Thu, 14 Sep 2023 11:57:01 +0000 (13:57 +0200)
bacula/src/cats/update_mysql_tables.in
bacula/updatedb/update_mysql_tables_1025_to_1026.in

index 0cdf33e4194eaa00ae86acf8d5a8ce701f650a2f..bf22892945c54d42860c67fbbea7a7febbeed57e 100644 (file)
@@ -653,8 +653,6 @@ fi
 if [ "$DBVERSION" -eq 1025 ] ; then
     if mysql $* -f <<END-OF-DATA
 USE ${db_name};
-CREATE INDEX meta_emailid on MetaEmail (EmailId(255));
-
 CREATE TABLE MalwareMD5
 (
     MD5     char(22)       -- Same as in File
@@ -684,6 +682,11 @@ CREATE TABLE FileEvents
 CREATE INDEX FileEvents_jobid_idx ON FileEvents (JobId, FileIndex);
 CREATE INDEX FileEvents_sourcejobid_idx ON FileEvents (SourceJobId);
 
+
+DROP INDEX meta_emailsubjectbody ON MetaEmail;
+DROP INDEX meta_emailowner ON MetaEmail;
+DROP INDEX meta_emailconversationid on MetaEmail;
+
 ALTER TABLE MetaEmail
     MODIFY COLUMN EmailTenant TEXT,
     MODIFY COLUMN EmailOwner TEXT,
@@ -693,6 +696,13 @@ ALTER TABLE MetaEmail
     MODIFY COLUMN EmailConversationId TEXT,
     MODIFY COLUMN Plugin TEXT;
 
+CREATE FULLTEXT INDEX meta_emailsubjectbody ON MetaEmail 
+       (EmailSubject, EmailBodyPreview, EmailTo, EmailCc, EmailFrom);
+CREATE INDEX meta_emailowner ON MetaEmail (EmailTenant(255), EmailOwner(255));
+CREATE INDEX meta_emailconversationid on MetaEmail (EmailConversationId(255));
+CREATE INDEX meta_emailid on MetaEmail (EmailId(255));
+
+
 DROP INDEX meta_attachmentowner ON MetaAttachment;
 DROP INDEX meta_attachmentemailid ON MetaAttachment;
 
@@ -707,15 +717,15 @@ CREATE INDEX meta_attachmentemailid ON MetaAttachment (AttachmentEmailId(255));
 
 ALTER TABLE Media
     ADD COLUMN Protected    tinyint default 0,
-    ADD COLUMN UseProtect   tinyint default 0;
+    ADD COLUMN UseProtect   tinyint default 0,
     ADD COLUMN VolEncrypted tinyint default 0;
 
 ALTER TABLE Object
     ADD COLUMN FileIndex integer not null default 0,
     MODIFY COLUMN ObjectSource BLOB,
     MODIFY COLUMN ObjectName BLOB,
-    MODIFY COLUMN ObjectType BLOB;
-    MODIFY COLUMN ObjectCategory BLOB;
+    MODIFY COLUMN ObjectType BLOB,
+    MODIFY COLUMN ObjectCategory BLOB,
     MODIFY COLUMN ObjectUUID BLOB;
 
 ALTER TABLE FileSet
index 0d66c8933f2c0b3790b5d8c2238f31f121f70829..3d285342cc0c81203ccb9d345b4107c347a49470 100644 (file)
@@ -25,8 +25,6 @@ fi
 
 if mysql $* -f  <<END-OF-DATA
 USE ${db_name};
-CREATE INDEX meta_emailid on MetaEmail (EmailId(255));
-
 CREATE TABLE MalwareMD5
 (
     MD5     char(22)       -- Same as in File
@@ -56,6 +54,11 @@ CREATE TABLE FileEvents
 CREATE INDEX FileEvents_jobid_idx ON FileEvents (JobId, FileIndex);
 CREATE INDEX FileEvents_sourcejobid_idx ON FileEvents (SourceJobId);
 
+
+DROP INDEX meta_emailsubjectbody ON MetaEmail;
+DROP INDEX meta_emailowner ON MetaEmail;
+DROP INDEX meta_emailconversationid on MetaEmail;
+
 ALTER TABLE MetaEmail
     MODIFY COLUMN EmailTenant TEXT,
     MODIFY COLUMN EmailOwner TEXT,
@@ -65,6 +68,12 @@ ALTER TABLE MetaEmail
     MODIFY COLUMN EmailConversationId TEXT,
     MODIFY COLUMN Plugin TEXT;
 
+CREATE FULLTEXT INDEX meta_emailsubjectbody ON MetaEmail 
+       (EmailSubject, EmailBodyPreview, EmailTo, EmailCc, EmailFrom);
+CREATE INDEX meta_emailowner ON MetaEmail (EmailTenant(255), EmailOwner(255));
+CREATE INDEX meta_emailconversationid on MetaEmail (EmailConversationId(255));
+CREATE INDEX meta_emailid on MetaEmail (EmailId(255));
+
 DROP INDEX meta_attachmentowner ON MetaAttachment;
 DROP INDEX meta_attachmentemailid ON MetaAttachment;
 
@@ -78,16 +87,16 @@ CREATE INDEX meta_attachmentowner ON MetaAttachment (AttachmentTenant(255),Attac
 CREATE INDEX meta_attachmentemailid ON MetaAttachment (AttachmentEmailId(255));
 
 ALTER TABLE Media
-    MODIFY COLUMN Protected TINYINT DEFAULT 0,
-    MODIFY COLUMN UseProtect TINYINT DEFAULT 0,
-    MODIFY COLUMN VolEncrypted TINYINT DEFAULT 0;
+    ADD COLUMN Protected    tinyint default 0,
+    ADD COLUMN UseProtect   tinyint default 0,
+    ADD COLUMN VolEncrypted tinyint default 0;
 
 ALTER TABLE Object
     ADD COLUMN FileIndex integer not null default 0,
     MODIFY COLUMN ObjectSource BLOB,
     MODIFY COLUMN ObjectName BLOB,
-    MODIFY COLUMN ObjectType BLOB;
-    MODIFY COLUMN ObjectCategory BLOB;
+    MODIFY COLUMN ObjectType BLOB,
+    MODIFY COLUMN ObjectCategory BLOB,
     MODIFY COLUMN ObjectUUID BLOB;
 
 ALTER TABLE FileSet
@@ -119,7 +128,6 @@ INSERT INTO Events (EventsCode, EventsType, EventsTime, EventsDaemon, EventsSour
   ('DU0001', 'catalog_update', NOW(), '*SHELL*', 'update_bacula_tables', 'pid$$', 'Catalog schema was updated to 1026');
 UPDATE Version SET VersionId=1026;
 
-
 END-OF-DATA
 then
    echo "Update of Bacula MySQL tables 1025 to 1026 succeeded."