diff --git a/main.go b/main.go index d626d180..4b0f07f7 100644 --- a/main.go +++ b/main.go @@ -56,11 +56,7 @@ func Open(dialect string, args ...interface{}) (DB, error) { } dbSql, err = sql.Open(driver, source) case sqlCommon: - if reflect.TypeOf(value).Kind() == reflect.Ptr { - source = reflect.ValueOf(value).Elem().FieldByName("dsn").String() - } else { - source = reflect.ValueOf(value).FieldByName("dsn").String() - } + source = reflect.Indirect(reflect.ValueOf(value)).FieldByName("dsn").String() dbSql = value } diff --git a/main_test.go b/main_test.go index 75f17df2..0b6f2d7a 100644 --- a/main_test.go +++ b/main_test.go @@ -8,8 +8,8 @@ import ( _ "github.com/denisenkom/go-mssqldb" testdb "github.com/erikstmartin/go-testdb" - "github.com/jinzhu/gorm" _ "github.com/go-sql-driver/mysql" + "github.com/jinzhu/gorm" "github.com/jinzhu/now" _ "github.com/lib/pq" _ "github.com/mattn/go-sqlite3" @@ -567,7 +567,6 @@ func TestOpenExistingDB(t *testing.T) { if db.Where("name = ?", "jnfeinstein").First(&user).Error == gorm.RecordNotFound { t.Errorf("Should have found existing record") } - } func BenchmarkGorm(b *testing.B) {