OpenID Connect (OIDC) identity and OAuth 2.0 provider with pluggable connectors
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

34 lines
519 B

package db
import (
"errors"
"fmt"
"github.com/go-gorp/gorp"
)
func NewHealthChecker(dbm *gorp.DbMap) *healthChecker {
return &healthChecker{dbMap: dbm}
}
type healthChecker struct {
dbMap *gorp.DbMap
}
func (hc *healthChecker) Healthy() (err error) {
if err = hc.dbMap.Db.Ping(); err != nil {
err = fmt.Errorf("database error: %v", err)
return
}
num, err := hc.dbMap.SelectInt("SELECT 1")
if err != nil {
return
}
if num != 1 {
err = errors.New("unable to connect to database")
}
return
}