Prechádzať zdrojové kódy

add fix command for upgrade

Lunny Xiao 11 rokov pred
rodič
commit
cdc843f06b
3 zmenil súbory, kde vykonal 51 pridanie a 0 odobranie
  1. 44 0
      fix.go
  2. 1 0
      gogs.go
  3. 6 0
      models/fix.go

+ 44 - 0
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 main
+
+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!")
+	}
+}

+ 1 - 0
gogs.go

@@ -35,6 +35,7 @@ func main() {
 		CmdWeb,
 		CmdServ,
 		CmdUpdate,
+		CmdFix,
 	}
 	app.Flags = append(app.Flags, []cli.Flag{}...)
 	app.Run(os.Args)

+ 6 - 0
models/fix.go

@@ -0,0 +1,6 @@
+package models
+
+func Fix() error {
+	_, err := orm.Exec("alter table repository drop column num_releases")
+	return err
+}