From e6f6cab9d16e8c6c1a8f12d39db1e2300319fce6 Mon Sep 17 00:00:00 2001 From: Giovanni Harting <539@idlegandalf.com> Date: Sun, 17 Oct 2021 18:15:05 +0200 Subject: [PATCH] added pgx handling --- main.go | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/main.go b/main.go index 0c1f882..d520f23 100644 --- a/main.go +++ b/main.go @@ -16,7 +16,7 @@ import ( "github.com/go-redis/redis/v8" "github.com/gorilla/handlers" "github.com/gorilla/mux" - _ "github.com/jackc/pgx/v4" + _ "github.com/jackc/pgx/v4/stdlib" "github.com/markus-wa/demoinfocs-golang/v2/pkg/demoinfocs/common" _ "github.com/mattn/go-sqlite3" log "github.com/sirupsen/logrus" @@ -700,13 +700,27 @@ func main() { Lock: new(sync.RWMutex), } - db.Client, err = ent.Open(conf.Db.Driver, conf.Db.ConnectTo) - if err != nil { - log.Panicf("Failed to open database %s: %v", conf.Db.ConnectTo, err) + if conf.Db.Driver == "pgx" { + pdb, err := sql.Open("pgx", conf.Db.ConnectTo) + if err != nil { + log.Panicf("Failed to open database %s: %v", conf.Db.ConnectTo, err) + } + + defer func(db *sql.Driver) { + _ = db.Close() + }(pdb) + + drv := sql.OpenDB("postgres", pdb.DB()) + db.Client = ent.NewClient(ent.Driver(drv)) + } else { + db.Client, err = ent.Open(conf.Db.Driver, conf.Db.ConnectTo) + if err != nil { + log.Panicf("Failed to open database %s: %v", conf.Db.ConnectTo, err) + } + defer func(Client *ent.Client) { + _ = Client.Close() + }(db.Client) } - defer func(Client *ent.Client) { - _ = Client.Close() - }(db.Client) if err := db.Client.Schema.Create( context.Background(),