Dialect Index first, before AddIndex

This commit is contained in:
Jason Lee 2015-03-09 21:33:25 +08:00
parent 6fed43162f
commit 708d85763c
1 changed files with 6 additions and 6 deletions

View File

@ -492,6 +492,10 @@ func (scope *Scope) dropColumn(column string) {
}
func (scope *Scope) addIndex(unique bool, indexName string, column ...string) {
if scope.Dialect().HasIndex(scope, scope.TableName(), indexName) {
return
}
var columns []string
for _, name := range column {
columns = append(columns, scope.Quote(name))
@ -559,16 +563,12 @@ func (scope *Scope) autoIndex() *Scope {
}
for name, columns := range indexes {
if !scope.Dialect().HasIndex(scope, scope.TableName(), name) {
scope.addIndex(false, name, columns...)
}
}
for name, columns := range uniqueIndexes {
if !scope.Dialect().HasIndex(scope, scope.TableName(), name) {
scope.addIndex(true, name, columns...)
}
}
return scope
}