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-15 15:19:12 +0800
commiteb82fdb2dc0903e6125014abd64aceab42c8eb35 (patch)
treec07276ba1595c415ebc28943163d88f3e3180254 /forged/internal/database/database.go
parentRemove forge-specific functions from misc (diff)
downloadforge-eb82fdb2dc0903e6125014abd64aceab42c8eb35.tar.gz
forge-eb82fdb2dc0903e6125014abd64aceab42c8eb35.tar.zst
forge-eb82fdb2dc0903e6125014abd64aceab42c8eb35.zip
RefactorHEADmaster
Diffstat (limited to 'forged/internal/database/database.go')
-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
}