fix: skip AfterInitialize
This commit is contained in:
parent
d7064f138a
commit
e0824aa1a5
17
gorm.go
17
gorm.go
@ -130,16 +130,20 @@ func Open(dialector Dialector, opts ...Option) (db *DB, err error) {
|
|||||||
return isConfig && !isConfig2
|
return isConfig && !isConfig2
|
||||||
})
|
})
|
||||||
|
|
||||||
|
var skipAfterInitialize bool
|
||||||
for _, opt := range opts {
|
for _, opt := range opts {
|
||||||
if opt != nil {
|
if opt != nil {
|
||||||
if applyErr := opt.Apply(config); applyErr != nil {
|
if applyErr := opt.Apply(config); applyErr != nil {
|
||||||
return nil, applyErr
|
return nil, applyErr
|
||||||
}
|
}
|
||||||
//defer func(opt Option) {
|
defer func(opt Option) {
|
||||||
// if errr := opt.AfterInitialize(db); errr != nil {
|
if skipAfterInitialize {
|
||||||
// err = errr
|
return
|
||||||
// }
|
}
|
||||||
//}(opt)
|
if errr := opt.AfterInitialize(db); errr != nil {
|
||||||
|
err = errr
|
||||||
|
}
|
||||||
|
}(opt)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -187,6 +191,9 @@ func Open(dialector Dialector, opts ...Option) (db *DB, err error) {
|
|||||||
if db, _ := db.DB(); db != nil {
|
if db, _ := db.DB(); db != nil {
|
||||||
_ = db.Close()
|
_ = db.Close()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DB is not initialized, so we skip AfterInitialize
|
||||||
|
skipAfterInitialize = true
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user