Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var GenConfig = func(context *cli.Context) error { file, err := os.OpenFile("cli.yaml", os.O_WRONLY|os.O_CREATE, os.ModePerm) if err != nil { fmt.Println("打开cli.yaml文件错误") return err } defer file.Close() var config Generator config.Temp = temp.Config _, err = file.WriteString(config.Gen()) if err != nil { fmt.Println("写入main.go文件错误") return err } return nil }
View Source
var GenDatabase = func(context *cli.Context) error { start := time.Now() if _, ok := os.Stat("dal/db.go"); ok != nil { dbFile, err := os.OpenFile("dal/db.go", os.O_WRONLY|os.O_CREATE, os.ModePerm) if err != nil { fmt.Println("dal/db.go文件错误") return err } defer dbFile.Close() dbconfig := viper.GetStringMapString("database") dsn := dbconfig["username"] + ":" + dbconfig["password"] + "@tcp(47.92.84.18:3306)/gin-cli?charset=utf8&parseTime=True&loc=Local" var db Generator db.Temp = temp.Db db.Args = struct { Dsn string }{ dsn, } _, err = dbFile.WriteString(db.Gen()) if err != nil { fmt.Println("dal/db.go文件错误") return err } } else { fmt.Println("db.go不会覆盖,如需修改请手动操作") } dbconfig := viper.GetStringMapString("database") dsn := dbconfig["username"] + ":" + dbconfig["password"] + "@tcp(47.92.84.18:3306)/gin-cli?charset=utf8&parseTime=True&loc=Local" db, _ := gorm.Open(mysql.Open(dsn)) g := gen.NewGenerator(gen.Config{ OutPath: "dal", Mode: gen.WithDefaultQuery, ModelPkgPath: "dal/models", OutFile: "gen.go", }) g.UseDB(db) g.ApplyBasic(g.GenerateAllTable()...) g.Execute() fmt.Println("耗时:", time.Since(start)) return nil }
GenDatabase 生成项目录以及基础文件方法
View Source
var GenProject = func(context *cli.Context) error { start := time.Now() fmt.Println("开始生成目录结构...") GenDirs() file, err := os.OpenFile("main.go", os.O_WRONLY|os.O_CREATE, os.ModePerm) if err != nil { fmt.Println("打开main.go文件错误") return err } defer file.Close() var index Generator index.Temp = temp.Index index.Args = struct { AppName string }{viper.GetString("appname")} _, err = file.WriteString(index.Gen()) if err != nil { fmt.Println("写入main.go文件错误") return err } modFile, err := os.OpenFile("go.mod", os.O_WRONLY|os.O_CREATE, os.ModePerm) if err != nil { fmt.Println("打开go.mod文件错误") return err } defer modFile.Close() var mod Generator mod.Temp = temp.Mod mod.Args = struct { AppName string }{viper.GetString("appname")} _, err = modFile.WriteString(mod.Gen()) if err != nil { fmt.Println("写入go.mod文件错误") return err } routerFile, err := os.OpenFile("router/base.go", os.O_WRONLY|os.O_CREATE, os.ModePerm) if err != nil { fmt.Println("打开router/base.go文件错误") return err } defer routerFile.Close() var router Generator router.Temp = temp.Router _, err = routerFile.WriteString(router.Gen()) if err != nil { fmt.Println("写入router/base.go文件错误") return err } fmt.Println("生成目录结构结束!请执行go mod tidy") fmt.Println("耗时:", time.Since(start)) return nil }
GenProject 生成项目录以及基础文件方法
Functions ¶
Types ¶
Click to show internal directories.
Click to hide internal directories.