fix sync bug (#857)

This commit is contained in:
Lunny Xiao 2018-03-05 18:01:47 +08:00 committed by GitHub
parent 60090fa5e0
commit b462eded54
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 0 deletions

View File

@ -255,6 +255,12 @@ func (session *Session) Sync2(beans ...interface{}) error {
return err return err
} }
session.autoResetStatement = false
defer func() {
session.autoResetStatement = true
session.resetStatement()
}()
var structTables []*core.Table var structTables []*core.Table
for _, bean := range beans { for _, bean := range beans {

View File

@ -251,3 +251,17 @@ func TestUnique_1(t *testing.T) {
assert.NoError(t, testEngine.CreateTables(new(UserUnique))) assert.NoError(t, testEngine.CreateTables(new(UserUnique)))
assert.NoError(t, testEngine.CreateUniques(new(UserUnique))) assert.NoError(t, testEngine.CreateUniques(new(UserUnique)))
} }
func TestSync2_2(t *testing.T) {
type TestSync2Index struct {
Id int64
UserId int64 `xorm:"index"`
}
assert.NoError(t, prepareEngine())
for i := 0; i < 10; i++ {
tableName := fmt.Sprintf("test_sync2_index_%d", i)
assert.NoError(t, testEngine.Table(tableName).Sync2(new(TestSync2Index)))
}
}