mirror of
https://github.com/go-admin-team/go-admin.git
synced 2026-09-21 10:13:01 +00:00
迁移方法set时增加锁
This commit is contained in:
@@ -4,6 +4,7 @@ import (
|
|||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
"log"
|
"log"
|
||||||
"sort"
|
"sort"
|
||||||
|
"sync"
|
||||||
)
|
)
|
||||||
|
|
||||||
var Migrate = &Migration{
|
var Migrate = &Migration{
|
||||||
@@ -13,6 +14,7 @@ var Migrate = &Migration{
|
|||||||
type Migration struct {
|
type Migration struct {
|
||||||
db *gorm.DB
|
db *gorm.DB
|
||||||
version map[string]func(db *gorm.DB, version string) error
|
version map[string]func(db *gorm.DB, version string) error
|
||||||
|
mutex sync.Mutex
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *Migration) GetDb() *gorm.DB {
|
func (e *Migration) GetDb() *gorm.DB {
|
||||||
@@ -24,6 +26,8 @@ func (e *Migration) SetDb(db *gorm.DB) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (e *Migration) SetVersion(k string, f func(db *gorm.DB, version string) error) {
|
func (e *Migration) SetVersion(k string, f func(db *gorm.DB, version string) error) {
|
||||||
|
e.mutex.Lock()
|
||||||
|
defer e.mutex.Unlock()
|
||||||
e.version[k] = f
|
e.version[k] = f
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user