github.com/wanlay/gorm-dm8@v1.0.5/namer.go (about) 1 package dm 2 3 import ( 4 "gorm.io/gorm/schema" 5 "strings" 6 ) 7 8 type Namer struct { 9 schema.NamingStrategy 10 } 11 12 func ConvertNameToFormat(x string) string { 13 return strings.ToUpper(x) 14 } 15 16 func (n Namer) TableName(table string) (name string) { 17 return ConvertNameToFormat(n.NamingStrategy.TableName(table)) 18 } 19 20 func (n Namer) ColumnName(table, column string) (name string) { 21 return ConvertNameToFormat(n.NamingStrategy.ColumnName(table, column)) 22 } 23 24 func (n Namer) JoinTableName(table string) (name string) { 25 return ConvertNameToFormat(n.NamingStrategy.JoinTableName(table)) 26 } 27 28 func (n Namer) RelationshipFKName(relationship schema.Relationship) (name string) { 29 return ConvertNameToFormat(n.NamingStrategy.RelationshipFKName(relationship)) 30 } 31 32 func (n Namer) CheckerName(table, column string) (name string) { 33 return ConvertNameToFormat(n.NamingStrategy.CheckerName(table, column)) 34 } 35 36 func (n Namer) IndexName(table, column string) (name string) { 37 tlc := strings.ToLower(column) 38 39 cl := n.NamingStrategy.IndexName(table, column) 40 if strings.Contains(tlc, "idx_"+strings.ToLower(table)) && strings.Contains(tlc, strings.ToLower(column)) { 41 cl = column 42 } 43 44 return ConvertNameToFormat(cl) 45 }