You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

52 lines
1.0 KiB

package main
import (
"flag"
OrmStructs "RelaseMgt/orm/ormstructs"
"github.com/zeromicro/go-zero/core/conf"
"gorm.io/driver/mysql"
"gorm.io/gen"
"gorm.io/gorm"
)
type Config struct {
MysqlConnStr string
}
func main() {
// 读取配置文件, 生成数据库表, 生成对应的orm代码,注意修改配置文件路径
var configFile = flag.String("f", "../api/ReleaseMgt/etc/release-mgt-api.yaml", "the config file")
flag.Parse()
var c Config
conf.MustLoad(*configFile, &c, conf.UseEnv())
db, err := gorm.Open(mysql.New(mysql.Config{
DSN: c.MysqlConnStr, // data source name, refer
}), &gorm.Config{})
if err != nil {
panic(err)
}
// 自动迁移
err = db.AutoMigrate(&OrmStructs.Project{})
if err != nil {
panic(err)
}
// 配置生成器
g := gen.NewGenerator(gen.Config{
OutPath: "./dal",
Mode: gen.WithoutContext | gen.WithDefaultQuery | gen.WithQueryInterface, // generate mode
})
// 使用数据库
g.UseDB(db)
g.ApplyBasic(
// 生成所有表
g.GenerateAllTable()...,
)
// 执行
g.Execute()
}