/
main.go
37 lines (29 loc) · 1.01 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package main
import (
"gorm.io/driver/sqlite"
"gorm.io/gen"
"gorm.io/gorm"
)
type Querier interface {
// SELECT * FROM @@table WHERE name = @name{{if role !=""}} AND role = @role{{end}}
FilterWithNameAndRole(name, role string) ([]gen.T, error)
}
func main() {
g := gen.NewGenerator(gen.Config{
OutPath: "./v2/dao",
Mode: gen.WithoutContext | gen.WithDefaultQuery | gen.WithQueryInterface,
})
// gormdb, _ := gorm.Open(mysql.Open("root:123456@(127.0.0.1:3306)/werite?charset=utf8mb4&parseTime=true&loc=Local"))
gormdb, _ := gorm.Open(sqlite.Open("./werite.db"))
g.UseDB(gormdb)
g.ApplyBasic(g.GenerateAllTable()...)
//g.ApplyInterface(func(querier Querier) {}, model.User{}, model.Group{}, model.Activity{})
// post := g.GenerateModel("post", gen.FieldRelateModel(field.HasMany, "Tags", model.Tag{},
// &field.RelateConfig{
// // RelateSlice: true,
// GORMTag: field.GormTag{"foreignKey": []string{"CustomerRefer"}, "references": []string{"ID"}},
// }),
// )
// g.ApplyBasic(post)
g.Execute()
}