Files
gormt/data/view/gtools/gtools.go
谢小军 ee2e02092a Restructure
重构
2019-09-30 18:25:22 +08:00

63 lines
1.4 KiB
Go

package gtools
import (
"fmt"
"os/exec"
"strings"
"github.com/xxjwxc/gormt/data/config"
"github.com/xxjwxc/gormt/data/view/model/genmysql"
"github.com/xxjwxc/public/tools"
)
// Execute
func Execute() {
// var tt oauth_db.UserInfoTbl
// tt.Nickname = "ticket_001"
// orm.Where("nickname = ?", "ticket_001").Find(&tt)
// fmt.Println(tt)
pkg := genmysql.GenMysql()
pkg.SetPackage(getPkgName())
str := pkg.Generate()
path := config.GetOutDir() + "/" + config.GetMysqlDbInfo().Database + ".go"
tools.WriteFile(path,
[]string{str}, true)
fmt.Println("formatting differs from goimport's:")
cmd, _ := exec.Command("goimports", "-l", "-w", path).Output()
fmt.Println(string(cmd))
fmt.Println("formatting differs from gofmt's:")
cmd, _ = exec.Command("gofmt", "-l", "-w", path).Output()
fmt.Println(string(cmd))
}
// Getting package names through config outdir configuration.通过config outdir 配置获取包名
func getPkgName() string {
dir := config.GetOutDir()
dir = strings.Replace(dir, "\\", "/", -1)
if len(dir) > 0 {
if dir[len(dir)-1] == '/' {
dir = dir[:(len(dir) - 1)]
}
}
var pkgName string
list := strings.Split(dir, "/")
if len(list) > 0 {
pkgName = list[len(list)-1]
}
if len(pkgName) == 0 || pkgName == "." {
list = strings.Split(tools.GetModelPath(), "/")
if len(list) > 0 {
pkgName = list[len(list)-1]
}
}
return pkgName
}