Je suis en train d'utiliser les outils de réflexion de SQLAlchemy pour obtenir un objet Table. Je fais cela car ces tables sont dynamiques et les tables/colonnes peuvent changer. Voici le code que j'utilise :
def getTableByReflection(self, tableName, metadata, engine):
return Table(tableName, metadata, autoload = True, autoload_with = engine)
Le problème est que lorsque le code ci-dessus est exécuté deux fois, il semble renvoyer les mêmes résultats peu importe si les colonnes ont changé ou non. J'ai essayé de rafraîchir en utilisant mysession.refresh(mytable)
mais cela échoue car la table n'est pas attachée à des métadonnées - ce qui a du sens mais alors pourquoi est-ce que je vois des résultats mis en cache ?
Y a-t-il un moyen de dire aux métadonnées/moteur/session d'oublier cette table et de me permettre de la charger proprement ?