recommender/hack/gorm-gen/gorm.go

45 lines
1000 B
Go
Raw Normal View History

2024-11-06 10:47:56 +00:00
package main
import (
2024-11-06 12:35:16 +00:00
"leafdev.top/Ecosystem/recommender/internal/entity"
2024-11-06 10:47:56 +00:00
"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(
2024-11-07 10:09:13 +00:00
entity.Post{},
entity.PostTag{},
entity.Tag{},
entity.TagMapping{},
entity.UserLike{},
entity.Application{},
entity.ApplicationToken{},
entity.UserTagScore{},
2024-11-07 18:25:15 +00:00
entity.Category{},
2024-11-09 16:11:00 +00:00
entity.ExternalUser{},
2024-11-06 10:47:56 +00:00
)
// 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()
}