From 74e5056c60d0044f995b1fe2cd4410e94d461eb0 Mon Sep 17 00:00:00 2001 From: zu1k Date: Mon, 7 Sep 2020 11:46:55 +0800 Subject: [PATCH] fix db insert batch fail --- internal/database/proxy.go | 35 ++++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/internal/database/proxy.go b/internal/database/proxy.go index 63a9357..f24c1e9 100644 --- a/internal/database/proxy.go +++ b/internal/database/proxy.go @@ -33,20 +33,29 @@ func SaveProxyList(pl proxy.ProxyList) { return } - size := pl.Len() - round := (size + roundSize - 1) / roundSize + // TODO 批量插入因为是生成一个sql,如果插入失败(重复)就全都没了 + //size := pl.Len() + //round := (size + roundSize - 1) / roundSize + // + //for r := 0; r < round; r++ { + // proxies := make([]Proxy, 0, roundSize) + // for i, j := r*roundSize, (r+1)*roundSize-1; i < j && i < size; i++ { + // p := pl[i] + // proxies = append(proxies, Proxy{ + // Base: *p.BaseInfo(), + // Link: p.Link(), + // Identifier: p.Identifier(), + // }) + // } + // DB.Create(&proxies) + //} - for r := 0; r < round; r++ { - proxies := make([]Proxy, 0, roundSize) - for i, j := r*roundSize, (r+1)*roundSize-1; i < j && i < size; i++ { - p := pl[i] - proxies = append(proxies, Proxy{ - Base: *p.BaseInfo(), - Link: p.Link(), - Identifier: p.Identifier(), - }) - } - DB.Create(&proxies) + for _, p := range pl { + DB.Create(&Proxy{ + Base: *p.BaseInfo(), + Link: p.Link(), + Identifier: p.Identifier(), + }) } }