@@ -309,52 +309,52 @@ class Schema(Table, db=engine):
309309 data_type = pg_row_meta .data_type
310310 column_type = COLUMN_TYPE_MAP .get (data_type , None )
311311 column_name = pg_row_meta .column_name
312-
313- if column_type :
314- kwargs : t .Dict [str , t .Any ] = {
315- "null" : pg_row_meta .is_nullable == "YES" ,
316- "unique" : constraints .is_unique (column_name = column_name ),
317- }
318-
319- if constraints .is_primary_key (column_name = column_name ):
320- kwargs ["primary_key" ] = True
321- if column_type == Integer :
322- column_type = Serial
323-
324- if constraints .is_foreign_key (column_name = column_name ):
325- fk_constraint_name = (
326- constraints .get_foreign_key_constraint_name (
327- column_name = column_name
328- )
329- )
330- column_type = ForeignKey
331- referenced_tablename = await get_foreign_key_reference (
332- table_class = Schema , constraint_name = fk_constraint_name
312+ if not column_type :
313+ warnings .append (f"{ tablename } .{ column_name } ['{ data_type } ']" )
314+ column_type = Column
315+
316+ kwargs : t .Dict [str , t .Any ] = {
317+ "null" : pg_row_meta .is_nullable == "YES" ,
318+ "unique" : constraints .is_unique (column_name = column_name ),
319+ }
320+
321+ if constraints .is_primary_key (column_name = column_name ):
322+ kwargs ["primary_key" ] = True
323+ if column_type == Integer :
324+ column_type = Serial
325+
326+ if constraints .is_foreign_key (column_name = column_name ):
327+ fk_constraint_name = (
328+ constraints .get_foreign_key_constraint_name (
329+ column_name = column_name
333330 )
334- if referenced_tablename :
335- kwargs ["references" ] = create_table_class (
336- _snake_to_camel (referenced_tablename )
337- )
338- else :
339- kwargs ["references" ] = ForeignKeyPlaceholder
340-
341- imports .add (
342- "from piccolo.columns.column_types import "
343- + column_type .__name__
344331 )
332+ column_type = ForeignKey
333+ referenced_tablename = await get_foreign_key_reference (
334+ table_class = Schema , constraint_name = fk_constraint_name
335+ )
336+ if referenced_tablename :
337+ kwargs ["references" ] = create_table_class (
338+ _snake_to_camel (referenced_tablename )
339+ )
340+ else :
341+ kwargs ["references" ] = ForeignKeyPlaceholder
342+
343+ imports .add (
344+ "from piccolo.columns.column_types import "
345+ + column_type .__name__
346+ )
345347
346- if column_type is Varchar :
347- kwargs ["length" ] = pg_row_meta .character_maximum_length
348+ if column_type is Varchar :
349+ kwargs ["length" ] = pg_row_meta .character_maximum_length
348350
349- column = column_type (** kwargs )
351+ column = column_type (** kwargs )
350352
351- serialised_params = serialise_params (column ._meta .params )
352- for extra_import in serialised_params .extra_imports :
353- imports .add (extra_import .__repr__ ())
353+ serialised_params = serialise_params (column ._meta .params )
354+ for extra_import in serialised_params .extra_imports :
355+ imports .add (extra_import .__repr__ ())
354356
355- columns [column_name ] = column
356- else :
357- warnings .append (f"{ tablename } .{ column_name } ['{ data_type } ']" )
357+ columns [column_name ] = column
358358
359359 table = create_table_class (
360360 class_name = _snake_to_camel (tablename ),
0 commit comments