mirror of https://github.com/go-gorm/gorm.git
fix: strings.Title -> cases.Title bcs strings.Title library is deprecated (#6999)
* add: add cases library * fix: strings.Title -> cases.Title * run goimports to solve the error
This commit is contained in:
parent
5e599a07ec
commit
0f105ec163
1
go.mod
1
go.mod
|
@ -5,4 +5,5 @@ go 1.18
|
||||||
require (
|
require (
|
||||||
github.com/jinzhu/inflection v1.0.0
|
github.com/jinzhu/inflection v1.0.0
|
||||||
github.com/jinzhu/now v1.1.5
|
github.com/jinzhu/now v1.1.5
|
||||||
|
golang.org/x/text v0.14.0
|
||||||
)
|
)
|
||||||
|
|
2
go.sum
2
go.sum
|
@ -2,3 +2,5 @@ github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD
|
||||||
github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
|
github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
|
||||||
github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ=
|
github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ=
|
||||||
github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
|
github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
|
||||||
|
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
|
||||||
|
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
||||||
|
|
|
@ -8,6 +8,8 @@ import (
|
||||||
"unicode/utf8"
|
"unicode/utf8"
|
||||||
|
|
||||||
"github.com/jinzhu/inflection"
|
"github.com/jinzhu/inflection"
|
||||||
|
"golang.org/x/text/cases"
|
||||||
|
"golang.org/x/text/language"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Namer namer interface
|
// Namer namer interface
|
||||||
|
@ -121,7 +123,7 @@ var (
|
||||||
func init() {
|
func init() {
|
||||||
commonInitialismsForReplacer := make([]string, 0, len(commonInitialisms))
|
commonInitialismsForReplacer := make([]string, 0, len(commonInitialisms))
|
||||||
for _, initialism := range commonInitialisms {
|
for _, initialism := range commonInitialisms {
|
||||||
commonInitialismsForReplacer = append(commonInitialismsForReplacer, initialism, strings.Title(strings.ToLower(initialism)))
|
commonInitialismsForReplacer = append(commonInitialismsForReplacer, initialism, cases.Title(language.Und).String(initialism))
|
||||||
}
|
}
|
||||||
commonInitialismsReplacer = strings.NewReplacer(commonInitialismsForReplacer...)
|
commonInitialismsReplacer = strings.NewReplacer(commonInitialismsForReplacer...)
|
||||||
}
|
}
|
||||||
|
@ -186,9 +188,9 @@ func (ns NamingStrategy) toDBName(name string) string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ns NamingStrategy) toSchemaName(name string) string {
|
func (ns NamingStrategy) toSchemaName(name string) string {
|
||||||
result := strings.ReplaceAll(strings.Title(strings.ReplaceAll(name, "_", " ")), " ", "")
|
result := strings.ReplaceAll(cases.Title(language.Und, cases.NoLower).String(strings.ReplaceAll(name, "_", " ")), " ", "")
|
||||||
for _, initialism := range commonInitialisms {
|
for _, initialism := range commonInitialisms {
|
||||||
result = regexp.MustCompile(strings.Title(strings.ToLower(initialism))+"([A-Z]|$|_)").ReplaceAllString(result, initialism+"$1")
|
result = regexp.MustCompile(cases.Title(language.Und, cases.NoLower).String(strings.ToLower(initialism))+"([A-Z]|$|_)").ReplaceAllString(result, initialism+"$1")
|
||||||
}
|
}
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,9 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/jinzhu/inflection"
|
"github.com/jinzhu/inflection"
|
||||||
|
"golang.org/x/text/cases"
|
||||||
|
"golang.org/x/text/language"
|
||||||
|
|
||||||
"gorm.io/gorm/clause"
|
"gorm.io/gorm/clause"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -301,9 +304,9 @@ func (schema *Schema) buildMany2ManyRelation(relation *Relationship, field *Fiel
|
||||||
}
|
}
|
||||||
|
|
||||||
for idx, ownField := range ownForeignFields {
|
for idx, ownField := range ownForeignFields {
|
||||||
joinFieldName := strings.Title(schema.Name) + ownField.Name
|
joinFieldName := cases.Title(language.Und, cases.NoLower).String(schema.Name) + ownField.Name
|
||||||
if len(joinForeignKeys) > idx {
|
if len(joinForeignKeys) > idx {
|
||||||
joinFieldName = strings.Title(joinForeignKeys[idx])
|
joinFieldName = cases.Title(language.Und, cases.NoLower).String(joinForeignKeys[idx])
|
||||||
}
|
}
|
||||||
|
|
||||||
ownFieldsMap[joinFieldName] = ownField
|
ownFieldsMap[joinFieldName] = ownField
|
||||||
|
@ -318,7 +321,7 @@ func (schema *Schema) buildMany2ManyRelation(relation *Relationship, field *Fiel
|
||||||
}
|
}
|
||||||
|
|
||||||
for idx, relField := range refForeignFields {
|
for idx, relField := range refForeignFields {
|
||||||
joinFieldName := strings.Title(relation.FieldSchema.Name) + relField.Name
|
joinFieldName := cases.Title(language.Und, cases.NoLower).String(relation.FieldSchema.Name) + relField.Name
|
||||||
|
|
||||||
if _, ok := ownFieldsMap[joinFieldName]; ok {
|
if _, ok := ownFieldsMap[joinFieldName]; ok {
|
||||||
if field.Name != relation.FieldSchema.Name {
|
if field.Name != relation.FieldSchema.Name {
|
||||||
|
@ -329,7 +332,7 @@ func (schema *Schema) buildMany2ManyRelation(relation *Relationship, field *Fiel
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(joinReferences) > idx {
|
if len(joinReferences) > idx {
|
||||||
joinFieldName = strings.Title(joinReferences[idx])
|
joinFieldName = cases.Title(language.Und, cases.NoLower).String(joinReferences[idx])
|
||||||
}
|
}
|
||||||
|
|
||||||
referFieldsMap[joinFieldName] = relField
|
referFieldsMap[joinFieldName] = relField
|
||||||
|
@ -347,7 +350,7 @@ func (schema *Schema) buildMany2ManyRelation(relation *Relationship, field *Fiel
|
||||||
}
|
}
|
||||||
|
|
||||||
joinTableFields = append(joinTableFields, reflect.StructField{
|
joinTableFields = append(joinTableFields, reflect.StructField{
|
||||||
Name: strings.Title(schema.Name) + field.Name,
|
Name: cases.Title(language.Und, cases.NoLower).String(schema.Name) + field.Name,
|
||||||
Type: schema.ModelType,
|
Type: schema.ModelType,
|
||||||
Tag: `gorm:"-"`,
|
Tag: `gorm:"-"`,
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in New Issue