Files
gvc/common/database/create-db.go

24 lines
593 B
Go

package database
import (
"github.com/asdine/storm"
"github.com/rs/zerolog"
)
type DB struct {
*storm.DB
*zerolog.Logger
}
// OpenOrCreate returns a new database object, either from existing database or creates a new one
func OpenOrCreateDB(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
}