清除sqlalchemy反射缓存

Org*_*nda 2 python sqlalchemy

我正在使用sqlalchemy的反射工具来获取Table对象.我这样做是因为这些表是动态的,表/列可以更改.这是我正在使用的代码:

def getTableByReflection(self, tableName, metadata, engine):

    return Table(tableName, metadata, autoload = True, autoload_with = engine)
Run Code Online (Sandbox Code Playgroud)

问题是,当上面的代码运行两次时,无论列是否已更改,它似乎都会返回相同的结果.我尝试刷新使用mysession.refresh(mytable)但失败,因为表没有附加到任何元数据 - 这是有道理但但为什么我看到缓存结果?

有没有办法告诉元数据/引擎/会话忘记这个表,让我干净地加载它?

cod*_*ape 5

传入新创建的新元数据实例.