0

我在雪花中有数据库,其中有一些视图。我已经使用 sqlalchamay 创建了连接,我可以轻松地在表上执行我的查询。

但我的问题是在 sqlalchamy/或任何其他形式的 python 中有什么方法可以在雪花视图上执行我的查询。

def generate_session(self):
    try:
        engine = self._get_engine()
        self._table = func(self._table_name, MetaData(), autoload=True, autoload_with=engine)
        self._session = Session(engine)
    except Exception as exc:
        LOG.error('Failed to generate database session', error=exc.__str__(), database=self._database)
        raise exc

我像这样使用它。

self._session.query(self._table).filter_by(**some_filter_by_query).all()

我也看过这个链接,说这是可能的。但我无法理解。

https://github.com/sqlalchemy/sqlalchemy/wiki/Views

谢谢

4

1 回答 1

0

所以在做了几个小时的研究后,我得到了答案..所以解决方案是我们需要在创建元类对象时使 views=True 。

engine = self._get_engine()
        metadata = MetaData(engine)
        metadata.reflect(views=True)
        self._table = Table('MONTHLY_OVERVIEW', metadata, autoload=True, autoload_with=engine)
于 2021-08-26T16:00:13.673 回答