package db import ( "github.com/jmoiron/sqlx" "github.com/spf13/viper" ) func New() *sqlx.DB { drv := viper.GetString("db.driver") dsn := viper.GetString("db.data_source_name") db, err := sqlx.Connect(drv, dsn) if err != nil { panic("Failed to connect to the database: " + err.Error()) } // Verify the connection to the database is still alive err = db.Ping() if err != nil { panic("Failed to ping the database: " + err.Error()) } return db }