summaryrefslogtreecommitdiff
path: root/backend/src/Database
diff options
context:
space:
mode:
Diffstat (limited to 'backend/src/Database')
-rw-r--r--backend/src/Database/Connection.zig28
1 files changed, 28 insertions, 0 deletions
diff --git a/backend/src/Database/Connection.zig b/backend/src/Database/Connection.zig
new file mode 100644
index 0000000..638d92b
--- /dev/null
+++ b/backend/src/Database/Connection.zig
@@ -0,0 +1,28 @@
+const std = @import("std");
+const pg = @import("pg");
+const dotenv = @import("dotenv");
+
+var pool: *pg.Pool = undefined;
+
+pub fn Connect(alloc: std.mem.Allocator) !void {
+ var env = try dotenv.init(alloc, ".env");
+ defer env.deinit();
+
+ pool = try pg.Pool.init(alloc, .{
+ .size = 5,
+ .connect = .{
+ .port = 5432,
+ .host = "localhost"
+ },
+ .auth = .{
+ .database = "cyber2020",
+ .username = env.get("PG_USERNAME") orelse unreachable,
+ .password = env.get("PG_PASSWORD") orelse unreachable,
+ .timeout = 10_000
+ }
+ });
+}
+
+pub fn Disconnect() void {
+ pool.deinit();
+}