vars.go 802 B

123456789101112131415161718192021222324252627282930313233343536
  1. package gen
  2. import (
  3. "bytes"
  4. "strings"
  5. "text/template"
  6. sqltemplate "zero/tools/goctl/model/sql/template"
  7. )
  8. func genVars(table *InnerTable) (string, error) {
  9. t, err := template.New("vars").Parse(sqltemplate.Vars)
  10. if err != nil {
  11. return "", err
  12. }
  13. varBuffer := new(bytes.Buffer)
  14. m, err := genCacheKeys(table)
  15. if err != nil {
  16. return "", err
  17. }
  18. keys := make([]string, 0)
  19. for _, v := range m {
  20. keys = append(keys, v.Expression)
  21. }
  22. err = t.Execute(varBuffer, map[string]interface{}{
  23. "lowerObject": table.LowerCamelCase,
  24. "upperObject": table.UpperCamelCase,
  25. "createNotFound": table.CreateNotFound,
  26. "keysDefine": strings.Join(keys, "\r\n"),
  27. "snakePrimaryKey": table.PrimaryField.SnakeCase,
  28. })
  29. if err != nil {
  30. return "", err
  31. }
  32. return varBuffer.String(), nil
  33. }