aboutsummaryrefslogtreecommitdiff
path: root/forged/internal/database/database.go
diff options
context:
space:
mode:
authorRunxi Yu <me@runxiyu.org>2025-08-12 11:01:07 +0800
committerRunxi Yu <me@runxiyu.org>2025-09-26 17:25:37 +0800
commite238ccb06b05e88ec323ca95ad4600bd79743372 (patch)
tree46f82d4d0f4ec43e94dcde5677de1ba857862638 /forged/internal/database/database.go
parentRemove forge-specific functions from misc (diff)
downloadforge-master.tar.gz
forge-master.tar.zst
forge-master.zip
RefactorHEADmaster
Diffstat (limited to '')
-rw-r--r--forged/internal/database/database.go13
1 files changed, 6 insertions, 7 deletions
diff --git a/forged/internal/database/database.go b/forged/internal/database/database.go
index b995adc..d96af6b 100644
--- a/forged/internal/database/database.go
+++ b/forged/internal/database/database.go
@@ -6,20 +6,19 @@ package database
import (
"context"
+ "fmt"
"github.com/jackc/pgx/v5/pgxpool"
)
-// Database is a wrapper around pgxpool.Pool to provide a common interface for
-// other packages in the forge.
type Database struct {
*pgxpool.Pool
}
-// Open opens a new database connection pool using the provided connection
-// string. It returns a Database instance and an error if any occurs.
-// It is run indefinitely in the background.
-func Open(connString string) (Database, error) {
- db, err := pgxpool.New(context.Background(), connString)
+func Open(ctx context.Context, conn string) (Database, error) {
+ db, err := pgxpool.New(ctx, conn)
+ if err != nil {
+ err = fmt.Errorf("create pgxpool: %w", err)
+ }
return Database{db}, err
}