From bccd20a7c50050cbab69538f3babece06e4a8983 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Sun, 23 Oct 2016 10:24:29 +0800 Subject: [PATCH] resolved #474 --- engine.go | 13 +++++-------- helpers.go | 2 +- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/engine.go b/engine.go index 2417f1e8..7c2c2f4f 100644 --- a/engine.go +++ b/engine.go @@ -1315,16 +1315,13 @@ func (engine *Engine) Sync(beans ...interface{}) error { } } else { for _, col := range table.Columns() { - session := engine.NewSession() - session.Statement.RefTable = table - defer session.Close() - isExist, err := session.Engine.dialect.IsColumnExist(tableName, col.Name) + isExist, err := engine.dialect.IsColumnExist(tableName, col.Name) if err != nil { return err } if !isExist { session := engine.NewSession() - session.Statement.RefTable = table + session.Statement.setRefValue(v) defer session.Close() err = session.addColumn(col.Name) if err != nil { @@ -1335,7 +1332,7 @@ func (engine *Engine) Sync(beans ...interface{}) error { for name, index := range table.Indexes { session := engine.NewSession() - session.Statement.RefTable = table + session.Statement.setRefValue(v) defer session.Close() if index.Type == core.UniqueType { //isExist, err := session.isIndexExist(table.Name, name, true) @@ -1345,7 +1342,7 @@ func (engine *Engine) Sync(beans ...interface{}) error { } if !isExist { session := engine.NewSession() - session.Statement.RefTable = table + session.Statement.setRefValue(v) defer session.Close() err = session.addUnique(tableName, name) if err != nil { @@ -1359,7 +1356,7 @@ func (engine *Engine) Sync(beans ...interface{}) error { } if !isExist { session := engine.NewSession() - session.Statement.RefTable = table + session.Statement.setRefValue(v) defer session.Close() err = session.addIndex(tableName, name) if err != nil { diff --git a/helpers.go b/helpers.go index 8158b924..3ad321c4 100644 --- a/helpers.go +++ b/helpers.go @@ -550,7 +550,7 @@ func genCols(table *core.Table, session *Session, bean interface{}, useCol bool, } } - if (col.IsCreated || col.IsUpdated) && session.Statement.UseAutoTime && isZero(fieldValue.Interface()) { + if (col.IsCreated || col.IsUpdated) && session.Statement.UseAutoTime /*&& isZero(fieldValue.Interface())*/ { // if time is non-empty, then set to auto time val, t := session.Engine.NowTime2(col.SQLType.Name) args = append(args, val)