From 2cff123de74487bef196d8162908a96b35a6e618 Mon Sep 17 00:00:00 2001 From: Bob Farrell Date: Sat, 16 Nov 2024 16:04:16 +0000 Subject: [PATCH] Fix database launch message When an environment variable configures the database name we connect to, we need to wrap the field access in a comptime check even if the `orelse` block never runs. --- src/jetzig/Environment.zig | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/jetzig/Environment.zig b/src/jetzig/Environment.zig index 834f399..318ea70 100644 --- a/src/jetzig/Environment.zig +++ b/src/jetzig/Environment.zig @@ -272,8 +272,13 @@ pub fn init(parent_allocator: std.mem.Allocator, env_options: EnvironmentOptions .{ @tagName(jetzig.database.adapter), switch (jetzig.environment) { - inline else => |tag| vars.get("JETQUERY_DATABASE") orelse - @field(jetzig.jetquery.config.database, @tagName(tag)).database, + inline else => |tag| vars.get("JETQUERY_DATABASE") orelse blk: { + const config = @field(jetzig.jetquery.config.database, @tagName(tag)); + break :blk if (comptime @hasField(@TypeOf(config), "database")) + config.database + else + "[no database]"; + }, }, }, );