FrontInterfaceCenter/internal/data/ent/template/entc.go

57 lines
1.2 KiB
Go

//go:build ignore
// +build ignore
package main
import (
"embed"
"entgo.io/ent/entc"
"entgo.io/ent/entc/gen"
"log"
)
//go:embed template
var EntTemplate embed.FS
func NewTemplate(patterns ...string) *gen.Template {
return gen.MustParse(gen.NewTemplate("template").
Funcs(gen.Funcs).
ParseFS(EntTemplate, patterns...))
}
func main() {
opts := []entc.Option{
//entc.Dependency(
// entc.DependencyName("Data"),
// entc.DependencyType(&data.Data{}),
//),
}
genConf := &gen.Config{
Schema: "",
Templates: []*gen.Template{
NewTemplate(
"template/builder/query.tmpl",
"template/builder/create.tmpl",
"template/builder/delete.tmpl",
"template/builder/update.tmpl",
"template/dialect/sql/query.tmpl",
"template/dialect/sql/create.tmpl",
"template/dialect/sql/delete.tmpl",
"template/dialect/sql/update.tmpl",
"template/meta.tmpl",
),
},
// --feature intercept,sql/upsert,sql/modifier,sql/lock,sql/execquery ../schema
Features: []gen.Feature{
gen.FeatureIntercept,
gen.FeatureUpsert,
gen.FeatureModifier,
gen.FeatureLock,
gen.FeatureExecQuery,
},
}
if err := entc.Generate("../schema", genConf, opts...); err != nil {
log.Fatal("running ent codegen:", err)
}
}