diff options
Diffstat (limited to 'cmd/fix.go')
-rw-r--r-- | cmd/fix.go | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/cmd/fix.go b/cmd/fix.go new file mode 100644 index 0000000000..47134cd146 --- /dev/null +++ b/cmd/fix.go @@ -0,0 +1,44 @@ +// Copyright 2014 The Gogs 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 cmd + +import ( + "fmt" + "os" + + "github.com/codegangsta/cli" + "github.com/gogits/gogs/models" + "github.com/gogits/gogs/modules/base" +) + +var CmdFix = cli.Command{ + Name: "fix", + Usage: "This command for upgrade from old version", + Description: ` +gogs fix provide upgrade from old version`, + Action: runFix, + Flags: []cli.Flag{}, +} + +func runFix(k *cli.Context) { + execDir, _ := base.ExecDir() + newLogger(execDir) + + base.NewConfigContext() + models.LoadModelsConfig() + + if models.UseSQLite3 { + os.Chdir(execDir) + } + + models.SetEngine() + + err := models.Fix() + if err != nil { + fmt.Println(err) + } else { + fmt.Println("Fix successfully!") + } +} |