// Copyright 2020 The Gitea Authors. All rights reserved. // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. package doctor import ( "context" "code.gitea.io/gitea/models" "code.gitea.io/gitea/models/migrations" "code.gitea.io/gitea/modules/log" ) func checkDBVersion(logger log.Logger, autofix bool) error { if err := models.NewEngine(context.Background(), migrations.EnsureUpToDate); err != nil { if !autofix { logger.Critical("Error: %v during ensure up to date", err) return err } logger.Warn("Got Error: %v during ensure up to date", err) logger.Warn("Attempting to migrate to the latest DB version to fix this.") err = models.NewEngine(context.Background(), migrations.Migrate) if err != nil { logger.Critical("Error: %v during migration", err) } return err } return nil } func init() { Register(&Check{ Title: "Check Database Version", Name: "check-db-version", IsDefault: true, Run: checkDBVersion, AbortIfFailed: false, Priority: 2, }) }