63 lines
1.4 KiB
Go
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
|
|
}
|