diff --git a/gorm.go b/gorm.go index 4402a2df..07a913fc 100644 --- a/gorm.go +++ b/gorm.go @@ -179,6 +179,12 @@ func Open(dialector Dialector, opts ...Option) (db *DB, err error) { if config.Dialector != nil { err = config.Dialector.Initialize(db) + + if err != nil { + if db, err := db.DB(); err == nil { + _ = db.Close() + } + } } preparedStmt := &PreparedStmtDB{