mirror of
https://github.com/beego/bee.git
synced 2024-11-01 05:00:55 +00:00
49 lines
1.2 KiB
Go
49 lines
1.2 KiB
Go
package beefix
|
|
|
|
import (
|
|
"strings"
|
|
|
|
"github.com/beego/bee/v2/cmd/commands"
|
|
"github.com/beego/bee/v2/cmd/commands/version"
|
|
beeLogger "github.com/beego/bee/v2/logger"
|
|
"github.com/beego/bee/v2/utils"
|
|
)
|
|
|
|
var CmdFix = &commands.Command{
|
|
UsageLine: "fix",
|
|
Short: "Fixes your application by making it compatible with newer versions of Beego",
|
|
Long: `
|
|
The command 'fix' will try to solve those issues by upgrading your code base
|
|
to be compatible with Beego old version
|
|
-s source version
|
|
-t target version
|
|
|
|
example: bee fix -s 1 -t 2 means that upgrade Beego version from v1.x to v2.x
|
|
`,
|
|
}
|
|
|
|
var (
|
|
source, target utils.DocValue
|
|
)
|
|
|
|
func init() {
|
|
CmdFix.Run = runFix
|
|
CmdFix.PreRun = func(cmd *commands.Command, args []string) { version.ShowShortVersionBanner() }
|
|
CmdFix.Flag.Var(&source, "s", "source version")
|
|
CmdFix.Flag.Var(&target, "t", "target version")
|
|
commands.AvailableCommands = append(commands.AvailableCommands, CmdFix)
|
|
}
|
|
|
|
func runFix(cmd *commands.Command, args []string) int {
|
|
t := target.String()
|
|
if t == "" || t == "1.6" {
|
|
return fixTo16(cmd, args)
|
|
} else if strings.HasPrefix(t, "2") {
|
|
// upgrade to v2
|
|
return fix1To2()
|
|
}
|
|
|
|
beeLogger.Log.Info("The target is compatible version, do nothing")
|
|
return 0
|
|
}
|