def get_metadata(db_engine: Engine, schemas=None) -> MetaData: metadata = MetaData(bind=db_engine) metadata.tables = dict() if not schemas: insp = inspect(db_engine) schemas = insp.get_schema_names() for schema in schemas: m = MetaData(bind=db_engine) m.reflect(schema=schema) for t in m.tables.values(): metadata.tables[t.fullname] = t return metadata