Add migration to set the ExtractContent settings to true by default (#17545)

Этот коммит содержится в:
Jesús Espino
2021-04-30 12:26:03 +02:00
коммит произвёл GitHub
родитель 8bf08988bd
Коммит 49bdf49bfa

Просмотреть файл

@@ -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()
}