1234567891011121314151617181920212223242526272829303132333435363738394041 |
- package gen
- import (
- "strings"
- "github.com/tal-tech/go-zero/core/collection"
- "github.com/tal-tech/go-zero/tools/goctl/model/sql/template"
- "github.com/tal-tech/go-zero/tools/goctl/util"
- "github.com/tal-tech/go-zero/tools/goctl/util/stringx"
- )
- func genDelete(table Table, withCache bool) (string, error) {
- keySet := collection.NewSet()
- keyVariableSet := collection.NewSet()
- for fieldName, key := range table.CacheKey {
- if fieldName == table.PrimaryKey.Name.Source() {
- keySet.AddStr(key.KeyExpression)
- } else {
- keySet.AddStr(key.DataKeyExpression)
- }
- keyVariableSet.AddStr(key.Variable)
- }
- camel := table.Name.ToCamel()
- output, err := util.With("delete").
- Parse(template.Delete).
- Execute(map[string]interface{}{
- "upperStartCamelObject": camel,
- "withCache": withCache,
- "containsIndexCache": table.ContainsUniqueKey,
- "lowerStartCamelPrimaryKey": stringx.From(table.PrimaryKey.Name.ToCamel()).UnTitle(),
- "dataType": table.PrimaryKey.DataType,
- "keys": strings.Join(keySet.KeysStr(), "\n"),
- "originalPrimaryKey": table.PrimaryKey.Name.Source(),
- "keyValues": strings.Join(keyVariableSet.KeysStr(), ", "),
- })
- if err != nil {
- return "", err
- }
- return output.String(), nil
- }
|