From 85ba0388d71bd9848ddc5af1ceed85ea0a5dc205 Mon Sep 17 00:00:00 2001 From: WhiteBatman Date: Thu, 4 May 2017 20:32:54 +0800 Subject: [PATCH 1/3] fix bug on formatTime fix bug on formatTime --- engine.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engine.go b/engine.go index a788c117..e21738be 100644 --- a/engine.go +++ b/engine.go @@ -1572,7 +1572,7 @@ func (engine *Engine) formatTime(tz *time.Location, sqlTypeName string, t time.T } else if engine.dialect.DBType() == "sqlite3" { v = t.UTC().Format("2006-01-02 15:04:05") } else { - v = t.Format("2006-01-02 15:04:05") + v = t.Format("2006-01-02 15:04:05.999") } case core.TimeStampz: if engine.dialect.DBType() == core.MSSQL { From 5f152c90b5a99d786b4b44307dade2f54abddce4 Mon Sep 17 00:00:00 2001 From: WhiteBatman Date: Thu, 4 May 2017 22:36:51 +0800 Subject: [PATCH 2/3] add test for formatTime add test for formatTime --- session_insert_test.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/session_insert_test.go b/session_insert_test.go index b232d3f7..b421e1b3 100644 --- a/session_insert_test.go +++ b/session_insert_test.go @@ -26,3 +26,19 @@ func TestInsertOne(t *testing.T) { _, err := testEngine.InsertOne(data) assert.NoError(t, err) } + +func TestInsertOne2(t *testing.T) { + assert.NoError(t, prepareEngine()) + + type Test2 struct { + Id int64 `xorm:"autoincr pk"` + Msg string `xorm:"varchar(255)"` + Created time.Time `xorm:"datetime created"` + } + + assert.NoError(t, testEngine.Sync2(new(Test2))) + + data := Test2{Msg: "hi"} + _, err := testEngine.InsertOne(data) + assert.NoError(t, err) +} From 8c9ffa956bec4149aa6f6961ab1afe93ff93b2eb Mon Sep 17 00:00:00 2001 From: WhiteBatman Date: Thu, 4 May 2017 22:40:32 +0800 Subject: [PATCH 3/3] add test for formatTime add test for formatTime --- session_update_test.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/session_update_test.go b/session_update_test.go index 9eeb6186..49009c98 100644 --- a/session_update_test.go +++ b/session_update_test.go @@ -72,3 +72,27 @@ func TestUpdateLimit(t *testing.T) { assert.EqualValues(t, 35, uts[0].Age) assert.EqualValues(t, 30, uts[1].Age) } + +func TestUpdate(t *testing.T) { + assert.NoError(t, prepareEngine()) + + type UpdateTable2 struct { + Id int64 `xorm:"autoincr pk"` + Msg string `xorm:"varchar(255)"` + Created time.Time `xorm:"datetime updated"` + } + + assert.NoError(t, testEngine.Sync2(new(UpdateTable2))) + + data := UpdateTable2{Msg: "test1"} + + cnt, err := testEngine.Insert(&data) + assert.NoError(t, err) + assert.EqualValues(t, 1, cnt) + + cnt, err = testEngine.Where("id = ?", data.Id).Update(&UpdateTable2{ + Msg: "test2", + }) + assert.NoError(t, err) + assert.EqualValues(t, 1, cnt) +}