Как прочитать таблицу из базы данных при запуске приложения пирамиды? - PullRequest
0 голосов
/ 25 марта 2020

У меня есть 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?

1 Ответ

0 голосов
/ 10 апреля 2020

Это зависит от того, как вы настроили свое приложение. Шаблон sqlalchemy по умолчанию из pyramid-cookiecutter-starter имеет dbsession_factory.

Итак, вы можете сделать что-то вроде этого:

def init_mw_data(event):
     registry = event.app.registry
     dbsession = registry['dbsession_factory']()
     dbsession.query(...)
     ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...