fix index name is type, parseFieldIndexes will set index TYPE is "TYPE"
This commit is contained in:
		
							parent
							
								
									f961bf1c14
								
							
						
					
					
						commit
						9695ddf4f1
					
				@ -89,11 +89,12 @@ func parseFieldIndexes(field *Field) (indexes []Index) {
 | 
				
			|||||||
			k := strings.TrimSpace(strings.ToUpper(v[0]))
 | 
								k := strings.TrimSpace(strings.ToUpper(v[0]))
 | 
				
			||||||
			if k == "INDEX" || k == "UNIQUEINDEX" {
 | 
								if k == "INDEX" || k == "UNIQUEINDEX" {
 | 
				
			||||||
				var (
 | 
									var (
 | 
				
			||||||
					name      string
 | 
										name       string
 | 
				
			||||||
					tag       = strings.Join(v[1:], ":")
 | 
										tag        = strings.Join(v[1:], ":")
 | 
				
			||||||
					idx       = strings.Index(tag, ",")
 | 
										idx        = strings.Index(tag, ",")
 | 
				
			||||||
					settings  = ParseTagSetting(tag, ",")
 | 
										tagSetting = strings.Join(strings.Split(tag, ",")[1:], ",")
 | 
				
			||||||
					length, _ = strconv.Atoi(settings["LENGTH"])
 | 
										settings   = ParseTagSetting(tagSetting, ",")
 | 
				
			||||||
 | 
										length, _  = strconv.Atoi(settings["LENGTH"])
 | 
				
			||||||
				)
 | 
									)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				if idx == -1 {
 | 
									if idx == -1 {
 | 
				
			||||||
 | 
				
			|||||||
@ -18,6 +18,7 @@ type UserIndex struct {
 | 
				
			|||||||
	Age          int64  `gorm:"index:profile,expression:ABS(age),option:WITH PARSER parser_name"`
 | 
						Age          int64  `gorm:"index:profile,expression:ABS(age),option:WITH PARSER parser_name"`
 | 
				
			||||||
	OID          int64  `gorm:"index:idx_id;index:idx_oid,unique"`
 | 
						OID          int64  `gorm:"index:idx_id;index:idx_oid,unique"`
 | 
				
			||||||
	MemberNumber string `gorm:"index:idx_id,priority:1"`
 | 
						MemberNumber string `gorm:"index:idx_id,priority:1"`
 | 
				
			||||||
 | 
						Name7        string `gorm:"index:type"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func TestParseIndex(t *testing.T) {
 | 
					func TestParseIndex(t *testing.T) {
 | 
				
			||||||
@ -78,6 +79,10 @@ func TestParseIndex(t *testing.T) {
 | 
				
			|||||||
			Class:  "UNIQUE",
 | 
								Class:  "UNIQUE",
 | 
				
			||||||
			Fields: []schema.IndexOption{{Field: &schema.Field{Name: "OID"}}},
 | 
								Fields: []schema.IndexOption{{Field: &schema.Field{Name: "OID"}}},
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
							"type": {
 | 
				
			||||||
 | 
								Name:   "type",
 | 
				
			||||||
 | 
								Fields: []schema.IndexOption{{Field: &schema.Field{Name: "Name7"}}},
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	indices := user.ParseIndexes()
 | 
						indices := user.ParseIndexes()
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user