phase 2 initial test
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
package db
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
_ "github.com/lib/pq"
|
||||
"xorm.io/xorm"
|
||||
"xorm.io/xorm/log"
|
||||
)
|
||||
|
||||
func Open(dataSourceName string, debug bool) (*xorm.Engine, error) {
|
||||
engine, err := xorm.NewEngine("postgres", dataSourceName)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("open db: %w", err)
|
||||
}
|
||||
|
||||
if debug {
|
||||
engine.SetLogLevel(log.LOG_DEBUG)
|
||||
} else {
|
||||
engine.SetLogLevel(log.LOG_WARNING)
|
||||
}
|
||||
|
||||
engine.SetMaxOpenConns(25)
|
||||
engine.SetMaxIdleConns(5)
|
||||
|
||||
if err := engine.Ping(); err != nil {
|
||||
return nil, fmt.Errorf("ping db: %w", err)
|
||||
}
|
||||
|
||||
return engine, nil
|
||||
}
|
||||
Reference in New Issue
Block a user