mirror of https://github.com/go-gorm/gorm.git
Don't create index for join table, close #3294
This commit is contained in:
parent
f88e8b072c
commit
2b510d6423
|
@ -225,7 +225,7 @@ func (schema *Schema) buildMany2ManyRelation(relation *Relationship, field *Fiel
|
||||||
Name: joinFieldName,
|
Name: joinFieldName,
|
||||||
PkgPath: ownField.StructField.PkgPath,
|
PkgPath: ownField.StructField.PkgPath,
|
||||||
Type: ownField.StructField.Type,
|
Type: ownField.StructField.Type,
|
||||||
Tag: removeSettingFromTag(removeSettingFromTag(ownField.StructField.Tag, "column"), "autoincrement"),
|
Tag: removeSettingFromTag(ownField.StructField.Tag, "column", "autoincrement", "index", "unique", "uniqueindex"),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -248,7 +248,7 @@ func (schema *Schema) buildMany2ManyRelation(relation *Relationship, field *Fiel
|
||||||
Name: joinFieldName,
|
Name: joinFieldName,
|
||||||
PkgPath: relField.StructField.PkgPath,
|
PkgPath: relField.StructField.PkgPath,
|
||||||
Type: relField.StructField.Type,
|
Type: relField.StructField.Type,
|
||||||
Tag: removeSettingFromTag(removeSettingFromTag(relField.StructField.Tag, "column"), "autoincrement"),
|
Tag: removeSettingFromTag(relField.StructField.Tag, "column", "autoincrement", "index", "unique", "uniqueindex"),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -51,8 +51,11 @@ func toColumns(val string) (results []string) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func removeSettingFromTag(tag reflect.StructTag, name string) reflect.StructTag {
|
func removeSettingFromTag(tag reflect.StructTag, names ...string) reflect.StructTag {
|
||||||
return reflect.StructTag(regexp.MustCompile(`(?i)(gorm:.*?)(`+name+`(:.*?)?)(;|("))`).ReplaceAllString(string(tag), "${1}${5}"))
|
for _, name := range names {
|
||||||
|
tag = reflect.StructTag(regexp.MustCompile(`(?i)(gorm:.*?)(`+name+`(:.*?)?)(;|("))`).ReplaceAllString(string(tag), "${1}${5}"))
|
||||||
|
}
|
||||||
|
return tag
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetRelationsValues get relations's values from a reflect value
|
// GetRelationsValues get relations's values from a reflect value
|
||||||
|
|
Loading…
Reference in New Issue