27 lines
495 B
Go
27 lines
495 B
Go
package database
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"os"
|
|
|
|
"github.com/jackc/pgx/v5"
|
|
)
|
|
|
|
func Connect() (*pgx.Conn, error) {
|
|
dsn := fmt.Sprintf(
|
|
"postgres://%s:%s@%s:%s/%s?sslmode=%s",
|
|
os.Getenv("DB_USER"),
|
|
os.Getenv("DB_PASSWORD"),
|
|
os.Getenv("DB_HOST"),
|
|
os.Getenv("DB_PORT"),
|
|
os.Getenv("DB_NAME"),
|
|
os.Getenv("DB_SSLMODE"),
|
|
)
|
|
|
|
conn, err := pgx.Connect(context.Background(), dsn)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("Unable to connect to database: %v", err)
|
|
}
|
|
return conn, nil
|
|
} |