Skip to content

Instantly share code, notes, and snippets.

@blaflamme
Created March 10, 2015 17:31
Show Gist options
  • Select an option

  • Save blaflamme/8c17a7d34916e2ae3934 to your computer and use it in GitHub Desktop.

Select an option

Save blaflamme/8c17a7d34916e2ae3934 to your computer and use it in GitHub Desktop.
# -*- coding: utf-8 -*-
from sqlalchemy import engine_from_config
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
from zope.sqlalchemy import register
Base = declarative_base()
def get_session_maker(settings, prefix='sqlalchemy.'):
engine = engine_from_config(settings, prefix)
maker = sessionmaker()
maker.configure(bind=engine)
return maker
def get_session(request, maker):
session = maker()
register(session, transaction_manager=request.tm)
return session
def includeme(config):
config.include('pyramid_tm')
config.include('pyramid_services')
settings = config.get_settings()
maker = get_session_maker(settings)
def _session_service(context, request):
return get_session(request, maker)
config.register_service_factory(_session_service, name='db')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment