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