@@ -98,7 +98,7 @@ def _render_column_type(coltype):
9898
9999
100100def _render_fk (fk ):
101- text = "ForeignKey('%s.%s'" % (fk .column .table .name , fk .column .name )
101+ text = "ForeignKey('%s.%s'" % (fk .column .table .fullname , fk .column .name )
102102 if fk .deferrable :
103103 text += ', deferrable=True'
104104 if fk .initially :
@@ -144,7 +144,7 @@ def _render_column(column, show_name):
144144def _render_constraint (constraint ):
145145 if isinstance (constraint , ForeignKeyConstraint ):
146146 local_columns = constraint .columns
147- remote_columns = ['{0}.{1}' .format (fk .column .table .name , fk .column .name )
147+ remote_columns = ['{0}.{1}' .format (fk .column .table .fullname , fk .column .name )
148148 for fk in constraint .elements ]
149149 return 'ForeignKeyConstraint({0!r}, {1!r})' .format (local_columns , remote_columns )
150150 elif isinstance (constraint , CheckConstraint ):
@@ -461,7 +461,7 @@ def __init__(self, metadata, noindexes=False, noconstraints=False, nojoined=Fals
461461 self .models = []
462462 self .collector = ImportCollector ()
463463 classes = {}
464- for table in sorted (metadata .tables .values (), key = lambda t : t . name ):
464+ for table in sorted (metadata .tables .values (), key = lambda t : ( t . schema or '' , t . name ) ):
465465 # Support for Alembic and sqlalchemy-migrate -- never expose the schema version tables
466466 if table .name in ('alembic_version' , 'migrate_version' ):
467467 continue
0 commit comments