model.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package template
  2. import (
  3. "fmt"
  4. "github.com/zeromicro/go-zero/tools/goctl/util"
  5. )
  6. // ModelCustom defines a template for extension
  7. const ModelCustom = `package {{.pkg}}
  8. import "github.com/zeromicro/go-zero/core/stores/sqlx"
  9. var _ {{.upperStartCamelObject}}Model = (*custom{{.upperStartCamelObject}}Model)(nil)
  10. type (
  11. // {{.upperStartCamelObject}}Model is an interface to be customized, add more methods here,
  12. // and implement the added methods in custom{{.upperStartCamelObject}}Model.
  13. {{.upperStartCamelObject}}Model interface {
  14. {{.lowerStartCamelObject}}Model
  15. }
  16. custom{{.upperStartCamelObject}}Model struct {
  17. *default{{.upperStartCamelObject}}Model
  18. }
  19. )
  20. // New{{.upperStartCamelObject}}Model returns a model for the database table.
  21. func New{{.upperStartCamelObject}}Model(conn sqlx.SqlConn{{if .withCache}}, c cache.CacheConf{{end}}) {{.upperStartCamelObject}}Model {
  22. return &custom{{.upperStartCamelObject}}Model{
  23. default{{.upperStartCamelObject}}Model: new{{.upperStartCamelObject}}Model(conn{{if .withCache}}, c{{end}}),
  24. }
  25. }
  26. `
  27. // ModelGen defines a template for model
  28. var ModelGen = fmt.Sprintf(`%s
  29. package {{.pkg}}
  30. {{.imports}}
  31. {{.vars}}
  32. {{.types}}
  33. {{.new}}
  34. {{.insert}}
  35. {{.find}}
  36. {{.update}}
  37. {{.delete}}
  38. {{.extraMethod}}
  39. {{.tableName}}
  40. `, util.DoNotEditHead)