szoe-pontok/database/connection.go
2024-10-10 21:41:49 +02:00

43 lines
829 B
Go

package database
import (
"context"
"fmt"
"git.tek.govt.hu/dowerx/szoe-pontok/config"
"github.com/jmoiron/sqlx"
_ "github.com/lib/pq"
"github.com/redis/go-redis/v9"
)
var db *sqlx.DB
func GetDB() *sqlx.DB {
if db == nil {
cfg := config.GetConfig()
newDB, err := sqlx.Connect("postgres", fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s sslmode=disable", cfg.Database.Host, cfg.Database.Port, cfg.Database.User, cfg.Database.Password, cfg.Database.DBname))
if err != nil {
panic(err)
}
db = newDB
}
return db
}
var rdb *redis.Client
var ctx context.Context
func GetRDB() (*redis.Client, context.Context) {
if rdb == nil {
ctx = context.Background()
rdb = redis.NewClient(&config.GetConfig().Redis)
if err := rdb.Ping(ctx).Err(); err != nil {
panic(err)
}
}
return rdb, ctx
}