@@ -58,9 +58,7 @@ func TestVersion(t *testing.T) {
5858 rows = DB .Model (& user ).Update ("age" , 14 ).RowsAffected
5959 require .Equal (t , int64 (0 ), rows )
6060
61- // No version restriction and updated_at will not be updated
62- // UpdateColumn will skip hooks
63- rows = DB .Model (& User {}).Where ("id = 1" ).UpdateColumn ("age" , 12 ).RowsAffected
61+ rows = DB .Model (& User {}).Where ("id = 1" ).Update ("age" , 12 ).RowsAffected
6462 require .Equal (t , int64 (1 ), rows )
6563 require .Nil (t , DB .First (& user ).Error )
6664 require .Equal (t , int64 (4 ), user .Version .Int64 )
@@ -90,11 +88,17 @@ func TestVersion(t *testing.T) {
9088 }).Statement .SQL .String ()
9189 require .Contains (t , sql , "`version`=`version`+1" )
9290
93- sql = DB .Session (& gorm.Session {DryRun : true }).Model (& user ).Updates (map [string ]interface {}{
94- "age" : 18 ,
95- "version" : 1 ,
91+ sql = DB .Session (& gorm.Session {DryRun : true }).Model (& user ).UpdateColumns (User {
92+ Age : 18 ,
9693 }).Statement .SQL .String ()
9794 require .Contains (t , sql , "`version`=`version`+1" )
95+ require .Contains (t , sql , "`version` = ?" )
96+
97+ sql = DB .Session (& gorm.Session {DryRun : true }).Model (& user ).UpdateColumns (map [string ]interface {}{
98+ "age" : 18 ,
99+ }).Statement .SQL .String ()
100+ require .Contains (t , sql , "`version`=`version`+1" )
101+ require .Contains (t , sql , "`version` = ?" )
98102
99103 // support create
100104 users := []User {{Name : "foo" , Age : 30 }, {Name : "bar" , Age : 40 , Version : Version {Int64 : 100 }}}
0 commit comments