@@ -239,31 +239,39 @@ extension SQLiteDataBase {
239239
240240 public func loadValue< T: Table , S: ScalarType > ( _ query: SelectQuery < T > ) throws -> S ? {
241241
242+ try self . createTableOrNot ( T . self)
242243 return try iterateDeserialize ( query: query, deserialize: { $0. next ( ) } ) . first
243244 }
244245
245246 public func load< T: Table , R: RowValueType > ( _ query: SelectQuery < T > ) throws -> [ R ] {
246247
248+ try self . createTableOrNot ( T . self)
247249 return try iterateDeserialize ( query: query, deserialize: R . init)
248250 }
249251
250252 public func load< T: Table > ( _ table: T . Type , query: SelectQuery < T > ) throws -> [ T . EntityType ] {
251253
254+ try self . createTableOrNot ( T . self)
252255 return try iterateDeserialize ( query: query, deserialize: T . EntityType. init)
253256 }
254257
255258 public func load< T: Table , V> ( _ query: SelectQuery < T > ,
256259 mapping: ( CursorIterator ) throws -> V ) throws -> [ V ] {
260+
261+ try self . createTableOrNot ( T . self)
257262 return try iterateDeserialize ( query: query, deserialize: mapping)
258263 }
259264
260265 public func load< T: Table , R: RowValueType > ( _ query: JoinQuery < T > ) throws -> [ R ] {
261266
267+ try self . createTableOrNot ( T . self)
262268 return try iterateDeserialize ( query: query, deserialize: R . init)
263269 }
264270
265271 public func load< T: Table , V> ( _ query: JoinQuery < T > ,
266272 mapping: ( CursorIterator ) throws -> V ) throws -> [ V ] {
273+
274+ try self . createTableOrNot ( T . self)
267275 return try iterateDeserialize ( query: query, deserialize: mapping)
268276 }
269277
@@ -302,6 +310,8 @@ extension SQLiteDataBase {
302310
303311 public func update< T> ( _ table: T . Type , query: UpdateQuery < T > ) throws where T : Table {
304312
313+ try self . createTableOrNot ( table)
314+
305315 let stmt = try prepare ( statement: query. asStatement ( ) )
306316
307317 defer {
0 commit comments