in main.go [234:258]
func newDatabase() (*sqlx.DB, error) {
fields := strings.SplitN(*database, ":", 2)
if len(fields) != 2 {
return nil, errors.Errorf(
"expected database URL with format %q, got %q",
"<driver>:<connection-string>",
*database,
)
}
driver := fields[0]
db, err := apmsql.Open(driver, fields[1])
if err != nil {
return nil, err
}
if err := db.Ping(); err != nil {
db.Close()
return nil, err
}
dbx := sqlx.NewDb(db, driver)
if err := initDatabase(dbx, driver); err != nil {
db.Close()
return nil, err
}
return dbx, nil
}