// openDB attempts to open a database connection. func openDB(args *internal.ArgType) error { var err error // parse dsn u, err := dburl.Parse(args.DSN) if err != nil { return err } // save driver type args.LoaderType = u.Driver // grab loader var ok bool args.Loader, ok = internal.SchemaLoaders[u.Driver] if !ok { return errors.New("unsupported database type") } // open database connection args.DB, err = sql.Open(u.Driver, u.DSN) if err != nil { return err } return nil }