diff options
Diffstat (limited to 'forged/internal/database')
-rw-r--r-- | forged/internal/database/config.go | 5 | ||||
-rw-r--r-- | forged/internal/database/database.go | 8 | ||||
-rw-r--r-- | forged/internal/database/queries/.gitignore | 1 |
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 |