actions

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 19, 2022 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

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()

		var db Generator
		db.Temp = temp.Db

		_, err = dbFile.WriteString(db.Gen())
		if err != nil {
			fmt.Println("dal/db.go文件错误")
			return err
		}
	} else {
		fmt.Println("db.go不会覆盖,如需修改请手动操作")
	}

	dsn := "gin-cli:mwZWBXTGGSa6abxb@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
	}{"jitm"}
	_, 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
	}{"jitm"}

	_, 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

func GenDirs

func GenDirs()

Types

type Generator

type Generator struct {
	Args any    // 使用的变量
	Temp string // 使用的文件模板
}

func (Generator) Gen

func (receiver Generator) Gen() string

Gen 生成最终文件的内容

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL