aboutsummaryrefslogtreecommitdiff
path: root/forged/internal/database
diff options
context:
space:
mode:
Diffstat (limited to 'forged/internal/database')
-rw-r--r--forged/internal/database/database.go24
-rw-r--r--forged/internal/database/queries/.gitignore1
2 files changed, 25 insertions, 0 deletions
diff --git a/forged/internal/database/database.go b/forged/internal/database/database.go
new file mode 100644
index 0000000..d96af6b
--- /dev/null
+++ b/forged/internal/database/database.go
@@ -0,0 +1,24 @@
+// SPDX-License-Identifier: AGPL-3.0-only
+// SPDX-FileCopyrightText: Copyright (c) 2025 Runxi Yu <https://runxiyu.org>
+
+// Package database provides stubs and wrappers for databases.
+package database
+
+import (
+ "context"
+ "fmt"
+
+ "github.com/jackc/pgx/v5/pgxpool"
+)
+
+type Database struct {
+ *pgxpool.Pool
+}
+
+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
+}
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