aboutsummaryrefslogtreecommitdiff
path: root/forged/internal/database
diff options
context:
space:
mode:
Diffstat (limited to 'forged/internal/database')
-rw-r--r--forged/internal/database/config.go5
-rw-r--r--forged/internal/database/database.go8
-rw-r--r--forged/internal/database/queries/.gitignore1
3 files changed, 12 insertions, 2 deletions
diff --git a/forged/internal/database/config.go b/forged/internal/database/config.go
new file mode 100644
index 0000000..3697693
--- /dev/null
+++ b/forged/internal/database/config.go
@@ -0,0 +1,5 @@
+package database
+
+type Config struct {
+ Conn string `scfg:"conn"`
+}
diff --git a/forged/internal/database/database.go b/forged/internal/database/database.go
index b995adc..093ed8f 100644
--- a/forged/internal/database/database.go
+++ b/forged/internal/database/database.go
@@ -6,6 +6,7 @@ package database
import (
"context"
+ "fmt"
"github.com/jackc/pgx/v5/pgxpool"
)
@@ -19,7 +20,10 @@ type Database struct {
// 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, config Config) (Database, error) {
+ db, err := pgxpool.New(ctx, config.Conn)
+ if err != nil {
+ err = fmt.Errorf("create pgxpool: %w", err)
+ }
return Database{db}, err
}
diff --git a/forged/internal/database/queries/.gitignore b/forged/internal/database/queries/.gitignore
new file mode 100644
index 0000000..1307f6d
--- /dev/null
+++ b/forged/internal/database/queries/.gitignore
@@ -0,0 +1 @@
+/*.go