Enshi/enshi_back/db_connection/databaseSetup.go
2024-11-09 13:58:59 +03:00

48 lines
947 B
Go

package db_connection
import (
"context"
db_repo "enshi/db/go_queries"
"enshi/env"
"fmt"
"github.com/jackc/pgx/v5"
"github.com/jackc/pgx/v5/pgxpool"
)
// Pgx connection to database
var Dbx *pgxpool.Pool
var Dbx_connection *pgx.Conn
var Sqlc_query = db_repo.New(Dbx)
func SetupDatabase() error {
var bd_pass, bd_user string
var err error
if err := env.LookupEnv(&bd_pass, "BD_PASSWORD"); err != nil {
fmt.Printf("%v", err)
return err
}
if err := env.LookupEnv(&bd_user, "BD_USER"); err != nil {
fmt.Printf("%v", err)
return err
}
// Url to connect
url := fmt.Sprintf("postgres://%v:%v@nekiiinkognito.ru:5432/postgres", bd_user, bd_pass)
// Connecting to database
Dbx, err = pgxpool.New(context.Background(), url)
Dbx_connection, err = pgx.Connect(context.Background(), url)
if err != nil {
fmt.Println("Unable to connect")
fmt.Println(err)
} else {
fmt.Println("Connected successfully!")
}
return err
}