bug fixed for sync2
This commit is contained in:
parent
76eef59c8f
commit
2ee7de9fa5
33
session.go
33
session.go
|
@ -3889,6 +3889,7 @@ func (s *Session) Sync2(beans ...interface{}) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
var foundIndexNames = make(map[string]bool)
|
var foundIndexNames = make(map[string]bool)
|
||||||
|
var addedNames = make(map[string]*core.Index)
|
||||||
|
|
||||||
for name, index := range table.Indexes {
|
for name, index := range table.Indexes {
|
||||||
var oriIndex *core.Index
|
var oriIndex *core.Index
|
||||||
|
@ -3912,20 +3913,7 @@ func (s *Session) Sync2(beans ...interface{}) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
if oriIndex == nil {
|
if oriIndex == nil {
|
||||||
if index.Type == core.UniqueType {
|
addedNames[name] = index
|
||||||
session := engine.NewSession()
|
|
||||||
session.Statement.RefTable = table
|
|
||||||
defer session.Close()
|
|
||||||
err = session.addUnique(table.Name, name)
|
|
||||||
} else if index.Type == core.IndexType {
|
|
||||||
session := engine.NewSession()
|
|
||||||
session.Statement.RefTable = table
|
|
||||||
defer session.Close()
|
|
||||||
err = session.addIndex(table.Name, name)
|
|
||||||
}
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3938,6 +3926,23 @@ func (s *Session) Sync2(beans ...interface{}) error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for name, index := range addedNames {
|
||||||
|
if index.Type == core.UniqueType {
|
||||||
|
session := engine.NewSession()
|
||||||
|
session.Statement.RefTable = table
|
||||||
|
defer session.Close()
|
||||||
|
err = session.addUnique(table.Name, name)
|
||||||
|
} else if index.Type == core.IndexType {
|
||||||
|
session := engine.NewSession()
|
||||||
|
session.Statement.RefTable = table
|
||||||
|
defer session.Close()
|
||||||
|
err = session.addIndex(table.Name, name)
|
||||||
|
}
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue