如何在金字塔应用程序启动时从数据库中读取表?

问题描述 投票:0回答:1

我有一个pyramid游戏服务器应用程序,该应用程序使用sqlalchemy读取/写入postgres数据库。我想在创建此应用程序时从数据库中读取某个表(称为games)。此games数据将由挂在应用程序中的我的wsgi middleware之一使用,以发送statsd指标。为此,我在应用的主要功能中添加了一个订阅者,例如:

config.add_subscriber(init_mw_data, ApplicationCreated)

现在,我想在以下功能中读取games表:

def init_mw_data(event):
    ...
    ...

任何人都知道我如何在函数games中读取init_mw_data表?

sqlalchemy pyramid
1个回答
0
投票

基于您配置应用程序的方式。pyramid-cookiecutter-starter中的默认sqlalchemy模板具有dbsession_factory

因此,您可以执行以下操作:

def init_mw_data(event):
     registry = event.app.registry
     dbsession = registry['dbsession_factory']()
     dbsession.query(...)
     ...
© www.soinside.com 2019 - 2024. All rights reserved.