Files
outfit-voting-abi26/internal/database/database.go
T
tueem 85e4df52a5
build / Go-Build (push) Successful in 1m1s
feat(*): initial commit
2026-06-24 00:16:21 +02:00

46 lines
662 B
Go

package database
import (
"database/sql"
"log"
"time"
"github.com/lib/pq"
)
var db *sql.DB
func OpenDB(conf pq.Config) {
connector, err := pq.NewConnectorConfig(conf)
if err != nil {
panic(err)
}
db = sql.OpenDB(connector)
db.SetMaxOpenConns(500)
db.SetMaxIdleConns(50)
db.SetConnMaxLifetime(time.Hour)
if err := db.Ping(); err != nil {
panic(err)
}
log.Printf("Database opened to %s:%d, %s as %s!\n", conf.Host, conf.Port, conf.Database, conf.User)
if err := initStateDB(); err != nil {
panic(err)
}
if err := initVoteDB(); err != nil {
panic(err)
}
}
func CloseDB() {
if err := db.Close(); err != nil {
panic(err)
}
}