recommender/hack/gorm-gen/gorm.go
2024-11-10 00:11:00 +08:00

45 lines
1000 B
Go

package main
import (
"leafdev.top/Ecosystem/recommender/internal/entity"
"gorm.io/gen"
)
// Dynamic SQL
//type Querier interface {
// // SELECT * FROM @@table WHERE name = @name{{if role !=""}} AND role = @role{{end}}
// FilterWithNameAndRole(name, role string) ([]gen.T, error)
//}
func main() {
//app, err := cmd.CreateApp()
//if err != nil {
// panic(err)
//}
g := gen.NewGenerator(gen.Config{
OutPath: "../../internal/dao",
Mode: gen.WithoutContext | gen.WithDefaultQuery | gen.WithQueryInterface, // generate mode
})
//g.UseDB(app.GORM)
g.ApplyBasic(
entity.Post{},
entity.PostTag{},
entity.Tag{},
entity.TagMapping{},
entity.UserLike{},
entity.Application{},
entity.ApplicationToken{},
entity.UserTagScore{},
entity.Category{},
entity.ExternalUser{},
)
// Generate Type Safe API with Dynamic SQL defined on Querier interface for `model.User` and `model.Company`
//g.ApplyInterface(func(Querier) {}, model.User{}, model.Company{})
g.Execute()
}