Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var GenConfig = func(context *cli.Context) error { parseTemp, err := temp.ParseTemp(temp.Config, nil) if err != nil { return err } err = utils.GenFile("cli.yaml", parseTemp, false) if err != nil { return err } return nil }
View Source
var GenController = func(context *cli.Context) error { db, err := utils.GetDb() if err != nil { return err } tables, err := db.Migrator().GetTables() if err != nil { return err } for _, table := range tables { args := struct { ControllerName string }{ utils.FirstUpper(table), } parseTemp, err := temp.ParseTemp(temp.Controller, args) if err != nil { fmt.Println(err) return err } err = utils.GenFile("controller/"+table+".go", parseTemp, false) if err != nil { fmt.Println(err) return err } } return nil }
GenController 生成controller的action
View Source
var GenDatabase = func(context *cli.Context) error { if _, err := os.Stat("cli.yaml"); err != nil { fmt.Println("请先执行gen-cli gen config") os.Exit(2) } viper.SetConfigName("cli") viper.SetConfigType("yaml") viper.AddConfigPath(".") err := viper.ReadInConfig() if err != nil { fmt.Println(err) return err } start := time.Now() dbconfig := viper.GetStringMapString("database") dsn := dbconfig["username"] + ":" + dbconfig["password"] + "@tcp(" + dbconfig["host"] + ":" + dbconfig["port"] + ")/" + dbconfig["dbname"] + "?charset=utf8&parseTime=True&loc=Local" args := struct { Dsn string }{ dsn, } parseTemp, err := temp.ParseTemp(temp.Db, args) if err != nil { return err } err = utils.GenFile("dal/db.go", parseTemp, false) if err != nil { return err } db, _ := utils.GetDb() 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 { if _, err := os.Stat("cli.yaml"); err != nil { fmt.Println("请先执行gen-cli gen config") os.Exit(2) } viper.SetConfigName("cli") viper.SetConfigType("yaml") viper.AddConfigPath(".") err := viper.ReadInConfig() if err != nil { fmt.Println(err) return err } start := time.Now() fmt.Println("开始生成目录结构...") GenDirs() args := struct { AppName string }{viper.GetString("appname")} parseTemp, err := temp.ParseTemp(temp.Index, args) if err != nil { return err } err = utils.GenFile("main.go", parseTemp, false) if err != nil { return err } args = struct { AppName string }{viper.GetString("appname")} parseTemp, err = temp.ParseTemp(temp.Mod, args) if err != nil { return err } err = utils.GenFile("go.mod", parseTemp, false) if err != nil { return err } parseTemp, err = temp.ParseTemp(temp.Router, nil) if err != nil { return err } err = utils.GenFile("router/base.go", parseTemp, false) if err != nil { return err } fmt.Println("生成目录结构结束!请执行go mod tidy") fmt.Println("耗时:", time.Since(start)) return nil }
GenProject 生成项目录以及基础文件方法
Functions ¶
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.