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