summaryrefslogtreecommitdiff
path: root/backend/src/Database/Connection.zig
diff options
context:
space:
mode:
authorphyscik <mynameisgennadiy@vk.com>2026-04-14 01:06:17 +0500
committerphyscik <mynameisgennadiy@vk.com>2026-04-14 01:06:17 +0500
commitcc133dd2e36c9eee7f04a29322e5a18181971189 (patch)
tree09cc108b5410aa107bf07129c3b13f5eab6f43dd /backend/src/Database/Connection.zig
parenta1473d2474c93e1be9a786ced3b40bbdff45fff6 (diff)
db connection
Diffstat (limited to 'backend/src/Database/Connection.zig')
-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();
+}