main
kzkzzzz 2025-07-27 12:34:13 +08:00
parent 0797ab1b4b
commit 95880712b8
1 changed files with 11 additions and 11 deletions

View File

@ -41,7 +41,7 @@ type BatchWriterConfig struct {
batchInterval time.Duration
jobNum int
asyncWorkerNum int
duplicateUpdate *clause.OnConflict
clauseExpr []clause.Expression
debug bool
}
@ -93,9 +93,9 @@ func WithAsyncWorkerNum(v int) BatchWriterOpt {
}
}
func WithDuplicateUpdate(v *clause.OnConflict) BatchWriterOpt {
func WithClause(v ...clause.Expression) BatchWriterOpt {
return func(c *BatchWriterConfig) {
c.duplicateUpdate = v
c.clauseExpr = v
}
}
@ -269,8 +269,8 @@ func (bw *BatchWriter[T]) asyncWriteToDb(jobIndex int, copyDataList []T) {
query := bw.db.Table(bw.tableName)
if bw.config.duplicateUpdate != nil {
query.Clauses(bw.config.duplicateUpdate)
if len(bw.config.clauseExpr) > 0 {
query.Clauses(bw.config.clauseExpr...)
}
err := query.Create(copyDataList).Error