dumping all of the database and utilites into the project, will work on the managers next
This commit is contained in:
		
							
								
								
									
										32
									
								
								common/database/create-db.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								common/database/create-db.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
			
		||||
package database
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"io"
 | 
			
		||||
 | 
			
		||||
	logger "github.com/apsdehal/go-logger"
 | 
			
		||||
	"github.com/asdine/storm"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type DB struct {
 | 
			
		||||
	*storm.DB
 | 
			
		||||
	*logger.Logger
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// NewDB returns a new database object,
 | 
			
		||||
// it configures the database for you.
 | 
			
		||||
func NewDB(dbPath, format string, logLevel int, logWriter io.WriteCloser) (*DB, error) {
 | 
			
		||||
	//Note! Do not use logger as you have no idea if logWriter has been configured for output yet
 | 
			
		||||
	var db DB
 | 
			
		||||
	log, err := logger.New("db logger", 1, logWriter)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return &db, err
 | 
			
		||||
	}
 | 
			
		||||
	log.SetLogLevel(logger.LogLevel(logLevel))
 | 
			
		||||
	log.SetFormat(format)
 | 
			
		||||
	db.Logger = log
 | 
			
		||||
	if err := db.ConfigureDB(dbPath); err != nil {
 | 
			
		||||
		log.ErrorF("Error configuring the database ", err)
 | 
			
		||||
		return &db, err
 | 
			
		||||
	}
 | 
			
		||||
	return &db, nil
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user