code.gitea.io/gitea@v1.19.3/modules/doctor/dbversion.go (about) 1 // Copyright 2020 The Gitea Authors. All rights reserved. 2 // SPDX-License-Identifier: MIT 3 4 package doctor 5 6 import ( 7 "context" 8 9 "code.gitea.io/gitea/models/db" 10 "code.gitea.io/gitea/models/migrations" 11 "code.gitea.io/gitea/modules/log" 12 ) 13 14 func checkDBVersion(ctx context.Context, logger log.Logger, autofix bool) error { 15 logger.Info("Expected database version: %d", migrations.ExpectedVersion()) 16 if err := db.InitEngineWithMigration(ctx, migrations.EnsureUpToDate); err != nil { 17 if !autofix { 18 logger.Critical("Error: %v during ensure up to date", err) 19 return err 20 } 21 logger.Warn("Got Error: %v during ensure up to date", err) 22 logger.Warn("Attempting to migrate to the latest DB version to fix this.") 23 24 err = db.InitEngineWithMigration(ctx, migrations.Migrate) 25 if err != nil { 26 logger.Critical("Error: %v during migration", err) 27 } 28 return err 29 } 30 return nil 31 } 32 33 func init() { 34 Register(&Check{ 35 Title: "Check Database Version", 36 Name: "check-db-version", 37 IsDefault: true, 38 Run: checkDBVersion, 39 AbortIfFailed: false, 40 Priority: 2, 41 }) 42 }