25 lines
565 B
Go
25 lines
565 B
Go
package database
|
|
|
|
import (
|
|
"github.com/asdine/storm"
|
|
"github.com/rs/zerolog"
|
|
)
|
|
|
|
type DB struct {
|
|
*storm.DB
|
|
*zerolog.Logger
|
|
}
|
|
|
|
// NewDB returns a new database object,
|
|
// it configures the database for you.
|
|
func NewDB(dbPath string, log *zerolog.Logger) (*DB, error) {
|
|
var db DB
|
|
databaseLogger := log.With().Str("module", "database").Logger() // Setting up a sub logger for the database module
|
|
db.Logger = &databaseLogger
|
|
if err := db.ConfigureDB(dbPath); err != nil {
|
|
db.Err(err).Msg("unable to configure database")
|
|
return &db, err
|
|
}
|
|
return &db, nil
|
|
}
|