From e0824aa1a52a0d9c9a39ea01d852be2b965434c0 Mon Sep 17 00:00:00 2001 From: "wenyazhou.13" Date: Tue, 4 Mar 2025 17:46:41 +0800 Subject: [PATCH] fix: skip AfterInitialize --- gorm.go | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/gorm.go b/gorm.go index d54208a6..38750813 100644 --- a/gorm.go +++ b/gorm.go @@ -130,16 +130,20 @@ func Open(dialector Dialector, opts ...Option) (db *DB, err error) { return isConfig && !isConfig2 }) + var skipAfterInitialize bool for _, opt := range opts { if opt != nil { if applyErr := opt.Apply(config); applyErr != nil { return nil, applyErr } - //defer func(opt Option) { - // if errr := opt.AfterInitialize(db); errr != nil { - // err = errr - // } - //}(opt) + defer func(opt Option) { + if skipAfterInitialize { + return + } + 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 { _ = db.Close() } + + // DB is not initialized, so we skip AfterInitialize + skipAfterInitialize = true return }