From 49bdf49bfa96a1c1a63ddb0485e740f8905ab573 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Espino?= Date: Fri, 30 Apr 2021 12:26:03 +0200 Subject: [PATCH] Add migration to set the ExtractContent settings to true by default (#17545) --- app/migrations.go | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/app/migrations.go b/app/migrations.go index 5e9f4daee5..1920cde63d 100644 --- a/app/migrations.go +++ b/app/migrations.go @@ -16,7 +16,7 @@ import ( const EmojisPermissionsMigrationKey = "EmojisPermissionsMigrationComplete" const GuestRolesCreationMigrationKey = "GuestRolesCreationMigrationComplete" const SystemConsoleRolesCreationMigrationKey = "SystemConsoleRolesCreationMigrationComplete" -const ContentExtractionConfigMigrationKey = "ContentExtractionConfigMigrationComplete" +const ContentExtractionConfigDefaultTrueMigrationKey = "ContentExtractionConfigDefaultTrueMigrationComplete" // This function migrates the default built in roles from code/config to the database. func (a *App) DoAdvancedPermissionsMigration() { @@ -287,6 +287,29 @@ func (a *App) DoSystemConsoleRolesCreationMigration() { } } +func (a *App) doContentExtractionConfigDefaultTrueMigration() { + if !a.Config().FeatureFlags.FilesSearch { + return + } + // If the migration is already marked as completed, don't do it again. + if _, err := a.Srv().Store.System().GetByName(ContentExtractionConfigDefaultTrueMigrationKey); err == nil { + return + } + + a.UpdateConfig(func(config *model.Config) { + config.FileSettings.ExtractContent = model.NewBool(true) + }) + + system := model.System{ + Name: ContentExtractionConfigDefaultTrueMigrationKey, + Value: "true", + } + + if err := a.Srv().Store.System().Save(&system); err != nil { + mlog.Critical("Failed to mark content extraction config migration as completed.", mlog.Err(err)) + } +} + func (a *App) DoAppMigrations() { a.DoAdvancedPermissionsMigration() a.DoEmojisPermissionsMigration() @@ -298,4 +321,5 @@ func (a *App) DoAppMigrations() { if err != nil { mlog.Critical("(app.App).DoPermissionsMigrations failed", mlog.Err(err)) } + a.doContentExtractionConfigDefaultTrueMigration() }