MCPcopy
hub / github.com/gogf/gf / Test_Model_Batch

Function Test_Model_Batch

contrib/drivers/sqlitecgo/sqlitecgo_z_unit_model_test.go:268–333  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

266}
267
268func Test_Model_Batch(t *testing.T) {
269 // batch insert
270 gtest.C(t, func(t *gtest.T) {
271 table := createTable()
272 defer dropTable(table)
273 result, err := db.Model(table).Data(g.List{
274 {
275 "id": 2,
276 "uid": 2,
277 "passport": "t2",
278 "password": "25d55ad283aa400af464c76d713c07ad",
279 "nickname": "name_2",
280 "create_time": gtime.Now().String(),
281 },
282 {
283 "id": 3,
284 "uid": 3,
285 "passport": "t3",
286 "password": "25d55ad283aa400af464c76d713c07ad",
287 "nickname": "name_3",
288 "create_time": gtime.Now().String(),
289 },
290 }).Batch(1).Insert()
291 if err != nil {
292 gtest.Error(err)
293 }
294 n, _ := result.RowsAffected()
295 t.Assert(n, 2)
296 })
297
298 // batch insert, retrieving last insert auto-increment id.
299 gtest.C(t, func(t *gtest.T) {
300 table := createTable()
301 defer dropTable(table)
302 result, err := db.Model(table).Data(g.List{
303 {"passport": "t1", "password": "25d55ad283aa400af464c76d713c07ad", "nickname": "name", "create_time": gtime.Now().String()},
304 {"passport": "t2", "password": "25d55ad283aa400af464c76d713c07ad", "nickname": "name", "create_time": gtime.Now().String()},
305 {"passport": "t3", "password": "25d55ad283aa400af464c76d713c07ad", "nickname": "name", "create_time": gtime.Now().String()},
306 {"passport": "t4", "password": "25d55ad283aa400af464c76d713c07ad", "nickname": "name", "create_time": gtime.Now().String()},
307 {"passport": "t5", "password": "25d55ad283aa400af464c76d713c07ad", "nickname": "name", "create_time": gtime.Now().String()},
308 }).Batch(2).Insert()
309 if err != nil {
310 gtest.Error(err)
311 }
312 n, _ := result.RowsAffected()
313 t.Assert(n, 5)
314 })
315
316 // batch replace
317 gtest.C(t, func(t *gtest.T) {
318 table := createInitTable()
319 defer dropTable(table)
320 result, err := db.Model(table).All()
321 t.AssertNil(err)
322 t.Assert(len(result), TableSize)
323 for _, v := range result {
324 v["nickname"].Set(v["nickname"].String() + v["id"].String())
325 v["id"].Set(v["id"].Int() + 100)

Callers

nothing calls this directly

Calls 15

CFunction · 0.92
NowFunction · 0.92
ErrorFunction · 0.92
BatchMethod · 0.80
AssertMethod · 0.80
AllMethod · 0.80
AssertNilMethod · 0.80
createTableFunction · 0.70
dropTableFunction · 0.70
createInitTableFunction · 0.70
InsertMethod · 0.65
DataMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…