This commit is contained in:
kzkzzzz
2025-07-27 18:10:06 +08:00
parent 95880712b8
commit 510629a424
2 changed files with 72 additions and 44 deletions

View File

@@ -1,6 +1,10 @@
package mymysql
import "gorm.io/gorm"
import (
"gorm.io/gorm"
"gorm.io/gorm/clause"
"time"
)
type Opt func(m *MysqlDb)
@@ -15,3 +19,51 @@ func WithGormConfig(v *gorm.Config) Opt {
m.gormConfig = v
}
}
func WithWriteJobNum(v int) BatchWriterOpt {
return func(c *BatchWriterConfig) {
c.jobNum = v
}
}
func WithWriteChannelBuffer(v int) BatchWriterOpt {
return func(c *BatchWriterConfig) {
c.channelBuffer = v
}
}
func WithWriteBatchSize(v int) BatchWriterOpt {
return func(c *BatchWriterConfig) {
c.batchSize = v
}
}
func WithWriteIntervalTime(v time.Duration) BatchWriterOpt {
return func(c *BatchWriterConfig) {
c.batchInterval = v
}
}
func WithAsyncWorkerNum(v int) BatchWriterOpt {
return func(c *BatchWriterConfig) {
c.asyncWorkerNum = v
}
}
func WithClause(v ...clause.Expression) BatchWriterOpt {
return func(c *BatchWriterConfig) {
c.clauseExpr = v
}
}
func WithDebug(v bool) BatchWriterOpt {
return func(c *BatchWriterConfig) {
c.debug = v
}
}
func WithNoPrepare() BatchWriterOpt {
return func(c *BatchWriterConfig) {
c.noPrepare = true
}
}