@@ -329,15 +329,15 @@ def _get_schema_primary_keys(self, connection, schema, **kw):
329
329
ans = {}
330
330
key_sequence_order_map = defaultdict (list )
331
331
for row in result :
332
- table_name = self .normalize_name (row ["table_name" ])
333
- key_sequence_order_map [table_name ].append (row ["key_sequence" ])
332
+ table_name = self .normalize_name (row . _mapping ["table_name" ])
333
+ key_sequence_order_map [table_name ].append (row . _mapping ["key_sequence" ])
334
334
if table_name not in ans :
335
335
ans [table_name ] = {
336
336
"constrained_columns" : [],
337
- "name" : self .normalize_name (row ["constraint_name" ]),
337
+ "name" : self .normalize_name (row . _mapping ["constraint_name" ]),
338
338
}
339
339
ans [table_name ]["constrained_columns" ].append (
340
- self .normalize_name (row ["column_name" ])
340
+ self .normalize_name (row . _mapping ["column_name" ])
341
341
)
342
342
343
343
for k , v in ans .items ():
@@ -368,16 +368,16 @@ def _get_schema_unique_constraints(self, connection, schema, **kw):
368
368
)
369
369
unique_constraints = {}
370
370
for row in result :
371
- name = self .normalize_name (row ["constraint_name" ])
371
+ name = self .normalize_name (row . _mapping ["constraint_name" ])
372
372
if name not in unique_constraints :
373
373
unique_constraints [name ] = {
374
- "column_names" : [self .normalize_name (row ["column_name" ])],
374
+ "column_names" : [self .normalize_name (row . _mapping ["column_name" ])],
375
375
"name" : name ,
376
- "table_name" : self .normalize_name (row ["table_name" ]),
376
+ "table_name" : self .normalize_name (row . _mapping ["table_name" ]),
377
377
}
378
378
else :
379
379
unique_constraints [name ]["column_names" ].append (
380
- self .normalize_name (row ["column_name" ])
380
+ self .normalize_name (row . _mapping ["column_name" ])
381
381
)
382
382
383
383
ans = defaultdict (list )
@@ -409,12 +409,14 @@ def _get_schema_foreign_keys(self, connection, schema, **kw):
409
409
foreign_key_map = {}
410
410
key_sequence_order_map = defaultdict (list )
411
411
for row in result :
412
- name = self .normalize_name (row ["fk_name" ])
413
- key_sequence_order_map [name ].append (row ["key_sequence" ])
412
+ name = self .normalize_name (row . _mapping ["fk_name" ])
413
+ key_sequence_order_map [name ].append (row . _mapping ["key_sequence" ])
414
414
if name not in foreign_key_map :
415
- referred_schema = self .normalize_name (row ["pk_schema_name" ])
415
+ referred_schema = self .normalize_name (row . _mapping ["pk_schema_name" ])
416
416
foreign_key_map [name ] = {
417
- "constrained_columns" : [self .normalize_name (row ["fk_column_name" ])],
417
+ "constrained_columns" : [
418
+ self .normalize_name (row ._mapping ["fk_column_name" ])
419
+ ],
418
420
# referred schema should be None in context where it doesn't need to be specified
419
421
# https://docs.sqlalchemy.org/en/14/core/reflection.html#reflection-schema-qualified-interaction
420
422
"referred_schema" : (
@@ -423,23 +425,31 @@ def _get_schema_foreign_keys(self, connection, schema, **kw):
423
425
not in (self .default_schema_name , current_schema )
424
426
else None
425
427
),
426
- "referred_table" : self .normalize_name (row ["pk_table_name" ]),
427
- "referred_columns" : [self .normalize_name (row ["pk_column_name" ])],
428
+ "referred_table" : self .normalize_name (
429
+ row ._mapping ["pk_table_name" ]
430
+ ),
431
+ "referred_columns" : [
432
+ self .normalize_name (row ._mapping ["pk_column_name" ])
433
+ ],
428
434
"name" : name ,
429
- "table_name" : self .normalize_name (row ["fk_table_name" ]),
435
+ "table_name" : self .normalize_name (row . _mapping ["fk_table_name" ]),
430
436
}
431
437
options = {}
432
- if self .normalize_name (row ["delete_rule" ]) != "NO ACTION" :
433
- options ["ondelete" ] = self .normalize_name (row ["delete_rule" ])
434
- if self .normalize_name (row ["update_rule" ]) != "NO ACTION" :
435
- options ["onupdate" ] = self .normalize_name (row ["update_rule" ])
438
+ if self .normalize_name (row ._mapping ["delete_rule" ]) != "NO ACTION" :
439
+ options ["ondelete" ] = self .normalize_name (
440
+ row ._mapping ["delete_rule" ]
441
+ )
442
+ if self .normalize_name (row ._mapping ["update_rule" ]) != "NO ACTION" :
443
+ options ["onupdate" ] = self .normalize_name (
444
+ row ._mapping ["update_rule" ]
445
+ )
436
446
foreign_key_map [name ]["options" ] = options
437
447
else :
438
448
foreign_key_map [name ]["constrained_columns" ].append (
439
- self .normalize_name (row ["fk_column_name" ])
449
+ self .normalize_name (row . _mapping ["fk_column_name" ])
440
450
)
441
451
foreign_key_map [name ]["referred_columns" ].append (
442
- self .normalize_name (row ["pk_column_name" ])
452
+ self .normalize_name (row . _mapping ["pk_column_name" ])
443
453
)
444
454
445
455
ans = {}
@@ -847,7 +857,11 @@ def get_table_comment(self, connection, table_name, schema=None, **kw):
847
857
# the "table" being reflected is actually a view
848
858
result = self ._get_view_comment (connection , table_name , schema )
849
859
850
- return {"text" : result ["comment" ] if result and result ["comment" ] else None }
860
+ return {
861
+ "text" : result ._mapping ["comment" ]
862
+ if result and result ._mapping ["comment" ]
863
+ else None
864
+ }
851
865
852
866
853
867
@sa_vnt .listens_for (Table , "before_create" )
0 commit comments