Change unique_idnex to UniqueIndex

This commit is contained in:
Jinzhu 2020-07-04 00:36:27 +08:00
parent f93345afa8
commit 2416eabd3f
3 changed files with 6 additions and 6 deletions

View File

@ -27,7 +27,7 @@ func (schema *Schema) ParseIndexes() map[string]Index {
var indexes = map[string]Index{} var indexes = map[string]Index{}
for _, field := range schema.Fields { for _, field := range schema.Fields {
if field.TagSettings["INDEX"] != "" || field.TagSettings["UNIQUE_INDEX"] != "" { if field.TagSettings["INDEX"] != "" || field.TagSettings["UNIQUEINDEX"] != "" {
for _, index := range parseFieldIndexes(field) { for _, index := range parseFieldIndexes(field) {
idx := indexes[index.Name] idx := indexes[index.Name]
idx.Name = index.Name idx.Name = index.Name
@ -76,7 +76,7 @@ func parseFieldIndexes(field *Field) (indexes []Index) {
if value != "" { if value != "" {
v := strings.Split(value, ":") v := strings.Split(value, ":")
k := strings.TrimSpace(strings.ToUpper(v[0])) k := strings.TrimSpace(strings.ToUpper(v[0]))
if k == "INDEX" || k == "UNIQUE_INDEX" { if k == "INDEX" || k == "UNIQUEINDEX" {
var ( var (
name string name string
tag = strings.Join(v[1:], ":") tag = strings.Join(v[1:], ":")
@ -97,7 +97,7 @@ func parseFieldIndexes(field *Field) (indexes []Index) {
name = field.Schema.namer.IndexName(field.Schema.Table, field.Name) name = field.Schema.namer.IndexName(field.Schema.Table, field.Name)
} }
if (k == "UNIQUE_INDEX") || settings["UNIQUE"] != "" { if (k == "UNIQUEINDEX") || settings["UNIQUE"] != "" {
settings["CLASS"] = "UNIQUE" settings["CLASS"] = "UNIQUE"
} }

View File

@ -12,7 +12,7 @@ type UserIndex struct {
Name string `gorm:"index"` Name string `gorm:"index"`
Name2 string `gorm:"index:idx_name,unique"` Name2 string `gorm:"index:idx_name,unique"`
Name3 string `gorm:"index:,sort:desc,collate:utf8,type:btree,length:10,where:name3 != 'jinzhu'"` Name3 string `gorm:"index:,sort:desc,collate:utf8,type:btree,length:10,where:name3 != 'jinzhu'"`
Name4 string `gorm:"unique_index"` Name4 string `gorm:"uniqueIndex"`
Name5 int64 `gorm:"index:,class:FULLTEXT,comment:hello \\, world,where:age > 10"` Name5 int64 `gorm:"index:,class:FULLTEXT,comment:hello \\, world,where:age > 10"`
Name6 int64 `gorm:"index:profile,comment:hello \\, world,where:age > 10"` Name6 int64 `gorm:"index:profile,comment:hello \\, world,where:age > 10"`
Age int64 `gorm:"index:profile,expression:ABS(age)"` Age int64 `gorm:"index:profile,expression:ABS(age)"`

View File

@ -41,7 +41,7 @@ func TestForeignKeyConstraints(t *testing.T) {
type Member struct { type Member struct {
ID uint ID uint
Refer uint `gorm:"unique_index"` Refer uint `gorm:"uniqueIndex"`
Name string Name string
Profile Profile `gorm:"Constraint:OnUpdate:CASCADE,OnDelete:CASCADE;FOREIGNKEY:MemberID;References:Refer"` Profile Profile `gorm:"Constraint:OnUpdate:CASCADE,OnDelete:CASCADE;FOREIGNKEY:MemberID;References:Refer"`
} }
@ -91,7 +91,7 @@ func TestForeignKeyConstraintsBelongsTo(t *testing.T) {
type Profile struct { type Profile struct {
ID uint ID uint
Name string Name string
Refer uint `gorm:"unique_index"` Refer uint `gorm:"uniqueIndex"`
} }
type Member struct { type Member struct {