19 lines
316 B
Go
19 lines
316 B
Go
package wheel
|
|
|
|
import (
|
|
"gorm.io/gorm"
|
|
"gorm.io/gorm/clause"
|
|
)
|
|
|
|
func withWriteLock(db *gorm.DB) *gorm.DB {
|
|
if db == nil || db.Dialector == nil {
|
|
return db
|
|
}
|
|
switch db.Dialector.Name() {
|
|
case "mysql", "postgres", "sqlserver":
|
|
return db.Clauses(clause.Locking{Strength: "UPDATE"})
|
|
default:
|
|
return db
|
|
}
|
|
}
|