feat: add optional storage init to doctor commands
This commit is contained in:
parent
5951c9b2c4
commit
e226a27233
|
@ -14,6 +14,7 @@ import (
|
||||||
"code.gitea.io/gitea/modules/git"
|
"code.gitea.io/gitea/modules/git"
|
||||||
"code.gitea.io/gitea/modules/log"
|
"code.gitea.io/gitea/modules/log"
|
||||||
"code.gitea.io/gitea/modules/setting"
|
"code.gitea.io/gitea/modules/setting"
|
||||||
|
"code.gitea.io/gitea/modules/storage"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Check represents a Doctor check
|
// Check represents a Doctor check
|
||||||
|
@ -25,6 +26,7 @@ type Check struct {
|
||||||
AbortIfFailed bool
|
AbortIfFailed bool
|
||||||
SkipDatabaseInitialization bool
|
SkipDatabaseInitialization bool
|
||||||
Priority int
|
Priority int
|
||||||
|
InitStorage bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func initDBSkipLogger(ctx context.Context) error {
|
func initDBSkipLogger(ctx context.Context) error {
|
||||||
|
@ -84,6 +86,7 @@ func RunChecks(ctx context.Context, colorize, autofix bool, checks []*Check) err
|
||||||
logger := log.BaseLoggerToGeneralLogger(&doctorCheckLogger{colorize: colorize})
|
logger := log.BaseLoggerToGeneralLogger(&doctorCheckLogger{colorize: colorize})
|
||||||
loggerStep := log.BaseLoggerToGeneralLogger(&doctorCheckStepLogger{colorize: colorize})
|
loggerStep := log.BaseLoggerToGeneralLogger(&doctorCheckStepLogger{colorize: colorize})
|
||||||
dbIsInit := false
|
dbIsInit := false
|
||||||
|
storageIsInit := false
|
||||||
for i, check := range checks {
|
for i, check := range checks {
|
||||||
if !dbIsInit && !check.SkipDatabaseInitialization {
|
if !dbIsInit && !check.SkipDatabaseInitialization {
|
||||||
// Only open database after the most basic configuration check
|
// Only open database after the most basic configuration check
|
||||||
|
@ -94,6 +97,14 @@ func RunChecks(ctx context.Context, colorize, autofix bool, checks []*Check) err
|
||||||
}
|
}
|
||||||
dbIsInit = true
|
dbIsInit = true
|
||||||
}
|
}
|
||||||
|
if !storageIsInit && check.InitStorage {
|
||||||
|
if err := storage.Init(); err != nil {
|
||||||
|
logger.Error("Error whilst initializing the storage: %v", err)
|
||||||
|
logger.Error("Check if you are using the right config file. You can use a --config directive to specify one.")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
storageIsInit = true
|
||||||
|
}
|
||||||
logger.Info("\n[%d] %s", i+1, check.Title)
|
logger.Info("\n[%d] %s", i+1, check.Title)
|
||||||
if err := check.Run(ctx, loggerStep, autofix); err != nil {
|
if err := check.Run(ctx, loggerStep, autofix); err != nil {
|
||||||
if check.AbortIfFailed {
|
if check.AbortIfFailed {
|
||||||
|
|
Loading…
Reference in New Issue