func newDatabase()

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
}