Skip to content

Commit a651f67

Browse files
committed
feat: fix enum name and type same indent
1 parent 49b708d commit a651f67

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

internal/mysql/gen.go

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,21 @@ func enumColumnValueName(colName, value string) string {
3434
return strings.Join(items, "")
3535
}
3636

37+
func getTableLastPart(tableName string) string {
38+
tablePart := strings.Split(tableName, "_")
39+
lastTablePart := ""
40+
if len(tablePart) > 1 {
41+
lastTablePart = tablePart[len(tablePart)-1]
42+
}
43+
return lastTablePart
44+
}
45+
3746
// Enums generates parser-agnostic GoEnum types
3847
func (r *Result) Enums(settings config.CombinedSettings) []dinosql.GoEnum {
3948
var enums []dinosql.GoEnum
4049
for tableName, table := range r.Schema.tables {
50+
lastTablePart := getTableLastPart(tableName)
51+
4152
for _, col := range table {
4253
if col.Type.Type == "enum" {
4354
constants := []dinosql.GoConstant{}
@@ -49,7 +60,7 @@ func (r *Result) Enums(settings config.CombinedSettings) []dinosql.GoEnum {
4960
if isCustomEnumName {
5061
name = strings.Title(enumName) + strings.Title(stripped)
5162
} else {
52-
name = enumColumnValueName(col.Name.String(), stripped)
63+
name = enumColumnValueName(lastTablePart+"_"+col.Name.String(), stripped)
5364
}
5465
constants = append(constants, dinosql.GoConstant{
5566
// Name 常量名称
@@ -66,7 +77,7 @@ func (r *Result) Enums(settings config.CombinedSettings) []dinosql.GoEnum {
6677
if isCustomEnumName {
6778
name = strings.Title(enumName) + strings.Title(stripped)
6879
} else {
69-
name = enumColumnValueName(col.Name.String(), stripped)
80+
name = enumColumnValueName(lastTablePart+"_"+col.Name.String(), stripped)
7081
}
7182
constants = append(constants, dinosql.GoConstant{
7283
// TODO: maybe add the struct name call to capitalize the name here
@@ -104,8 +115,9 @@ func (pGen PackageGenerator) enumNameFromColDef(tableName string, col *sqlparser
104115
return customName, true
105116
}
106117
}
118+
107119
return fmt.Sprintf("%sType",
108-
dinosql.StructName(col.Name.String(), pGen.CombinedSettings)), false
120+
dinosql.StructName(getTableLastPart(tableName)+"_"+col.Name.String(), pGen.CombinedSettings)), false
109121
}
110122

111123
// Structs marshels each query into a go struct for generation

0 commit comments

Comments
 (0)