@@ -58,9 +58,9 @@ extension SnapshotTests {
5858 @Table
5959 struct User {
6060 /// The user's identifier.
61- let id: /* TODO: UUID */Int
61+ let id: /* TODO: UUID */Int // Primary key
6262 /// The user's email.
63- var email: String? // TODO: Should this be non-optional?
63+ var email: String? = " " // TODO: Should this be non-optional?
6464 /// The user's age.
6565 var age: Int
6666 }
@@ -69,16 +69,16 @@ extension SnapshotTests {
6969 #"""
7070 struct User {
7171 /// The user's identifier.
72- let id: /* TODO: UUID */Int
72+ let id: /* TODO: UUID */Int // Primary key
7373 /// The user's email.
74- var email: String? // TODO: Should this be non-optional?
74+ var email: String? = "" // TODO: Should this be non-optional?
7575 /// The user's age.
7676 var age: Int
7777
7878 public nonisolated struct TableColumns: StructuredQueriesCore.TableDefinition, StructuredQueriesCore.PrimaryKeyedTableDefinition {
7979 public typealias QueryValue = User
8080 public let id = StructuredQueriesCore.TableColumn<QueryValue, Int>("id", keyPath: \QueryValue.id)
81- public let email = StructuredQueriesCore.TableColumn<QueryValue, String?>("email", keyPath: \QueryValue.email)
81+ public let email = StructuredQueriesCore.TableColumn<QueryValue, String?>("email", keyPath: \QueryValue.email, default: "" )
8282 public let age = StructuredQueriesCore.TableColumn<QueryValue, Int>("age", keyPath: \QueryValue.age)
8383 public var primaryKey: StructuredQueriesCore.TableColumn<QueryValue, Int> {
8484 self.id
@@ -96,13 +96,13 @@ extension SnapshotTests {
9696
9797 public struct Draft: StructuredQueriesCore.TableDraft {
9898 public typealias PrimaryTable = User
99- let id: /* TODO: UUID */ Int?
100- var email: String?
99+ let id: /* TODO: UUID */ Int? // Primary key
100+ var email: String? = ""
101101 var age: Int
102102 public nonisolated struct TableColumns: StructuredQueriesCore.TableDefinition {
103103 public typealias QueryValue = Draft
104104 public let id = StructuredQueriesCore.TableColumn<QueryValue, Int?>("id", keyPath: \QueryValue.id)
105- public let email = StructuredQueriesCore.TableColumn<QueryValue, String?>("email", keyPath: \QueryValue.email)
105+ public let email = StructuredQueriesCore.TableColumn<QueryValue, String?>("email", keyPath: \QueryValue.email, default: "" )
106106 public let age = StructuredQueriesCore.TableColumn<QueryValue, Int>("age", keyPath: \QueryValue.age)
107107 public static var allColumns: [any StructuredQueriesCore.TableColumnExpression] {
108108 [QueryValue.columns.id, QueryValue.columns.email, QueryValue.columns.age]
@@ -124,7 +124,7 @@ extension SnapshotTests {
124124
125125 public nonisolated init(decoder: inout some StructuredQueriesCore.QueryDecoder) throws {
126126 self.id = try decoder.decode(Int.self)
127- self.email = try decoder.decode(String.self)
127+ self.email = try decoder.decode(String.self) ?? ""
128128 let age = try decoder.decode(Int.self)
129129 guard let age else {
130130 throw QueryDecodingError.missingRequiredColumn
@@ -139,7 +139,7 @@ extension SnapshotTests {
139139 }
140140 public init(
141141 id: /* TODO: UUID */ Int? = nil,
142- email: String? = nil ,
142+ email: String? = "" ,
143143 age: Int
144144 ) {
145145 self.id = id
@@ -158,7 +158,7 @@ extension SnapshotTests {
158158 }
159159 public nonisolated init(decoder: inout some StructuredQueriesCore.QueryDecoder) throws {
160160 let id = try decoder.decode(Int.self)
161- self.email = try decoder.decode(String.self)
161+ self.email = try decoder.decode(String.self) ?? "" // TODO: Should this be non-optional?
162162 let age = try decoder.decode(Int.self)
163163 guard let id else {
164164 throw QueryDecodingError.missingRequiredColumn
0 commit comments