template.go 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package gen
  2. import (
  3. "fmt"
  4. "github.com/tal-tech/go-zero/tools/goctl/model/sql/template"
  5. "github.com/tal-tech/go-zero/tools/goctl/util"
  6. "github.com/urfave/cli"
  7. )
  8. const (
  9. category = "model"
  10. deleteTemplateFile = "delete.tpl"
  11. fieldTemplateFile = "filed.tpl"
  12. findOneTemplateFile = "find-one.tpl"
  13. findOneByFieldTemplateFile = "find-one-by-field.tpl"
  14. findOneByFieldExtraMethodTemplateFile = "find-one-by-filed-extra-method.tpl"
  15. importsTemplateFile = "import.tpl"
  16. importsWithNoCacheTemplateFile = "import-no-cache.tpl"
  17. insertTemplateFile = "insert.tpl"
  18. modelTemplateFile = "model.tpl"
  19. modelNewTemplateFile = "model-new.tpl"
  20. tagTemplateFile = "tag.tpl"
  21. typesTemplateFile = "types.tpl"
  22. updateTemplateFile = "update.tpl"
  23. varTemplateFile = "var.tpl"
  24. )
  25. var templates = map[string]string{
  26. deleteTemplateFile: template.Delete,
  27. fieldTemplateFile: template.Field,
  28. findOneTemplateFile: template.FindOne,
  29. findOneByFieldTemplateFile: template.FindOneByField,
  30. findOneByFieldExtraMethodTemplateFile: template.FindOneByFieldExtraMethod,
  31. importsTemplateFile: template.Imports,
  32. importsWithNoCacheTemplateFile: template.ImportsNoCache,
  33. insertTemplateFile: template.Insert,
  34. modelTemplateFile: template.Model,
  35. modelNewTemplateFile: template.New,
  36. tagTemplateFile: template.Tag,
  37. typesTemplateFile: template.Types,
  38. updateTemplateFile: template.Update,
  39. varTemplateFile: template.Vars,
  40. }
  41. func GenTemplates(_ *cli.Context) error {
  42. return util.InitTemplates(category, templates)
  43. }
  44. func RevertTemplate(name string) error {
  45. content, ok := templates[name]
  46. if !ok {
  47. return fmt.Errorf("%s: no such file name", name)
  48. }
  49. return util.CreateTemplate(category, name, content)
  50. }
  51. func Clean() error {
  52. return util.Clean(category)
  53. }
  54. func Update(category string) error {
  55. err := Clean()
  56. if err != nil {
  57. return err
  58. }
  59. return util.InitTemplates(category, templates)
  60. }
  61. func GetCategory() string {
  62. return category
  63. }