Я использую язык выражений sqlalchemy для его нотации и пула соединений для создания объектов dao для связи с уровнем сохраняемости. Я хотел узнать мнение о том, как мне следует настроить метаданные и движок, чтобы они были доступны для вызываемых приложений. Согласно документации sqlalchemy http://docs.sqlalchemy.org/en/rel_0_7/core/connections.html, они обычно связаны и объявлены глобальными, однако я не считаю ни этот, ни одноэлементный подход хорошими идеями. Любые мысли будут оценены ...
Вот как выглядит мой файл __init__.py
в каталоге моего проекта:
from pyramid.config import Configurator
from sqlalchemy import engine_from_config, MetaData, create_engine
from pyramid_beaker import session_factory_from_settings
db_url = 'postgresql://user:password@localhost/dbname'
engine = create_engine(db_url)
meta = MetaData()
def main(global_config, **settings):
meta.bind = engine
.
.
.
[other configuration settings]