diff options
Diffstat (limited to 'backend/src/Database')
| -rw-r--r-- | backend/src/Database/Connection.zig | 28 |
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(); +} |
