On Jun 4, 2008, at 12:02 PM, Hermann Himmelbauer wrote:
Hi,
Regarding to the discussion some days ago with the SQLAlchemy Zope3
integration, I still have problems with retrieving the session. I currently
use a utility for the engine, which seems to work well.
However, for retrieving the session, I tried to use the following pattern
(many thanks to Michael Bayer, btw.):
-------- database module -----------
SASession = scoped_session(sessionmaker(
transactional = True,
autoflush = True,
extension = ZopeTransactionExtension()))
def getSASession():
SASession.remove()
engine = getUtility(ISAEngineUtility).getEngine()
s = SASession()
s.bind = engine
return s
--------------------------------------------
In my application, I then use getSASession() to retrieve my session.
However, what I think is not that beautiful is the "s.bind = engine" part. Are
there any suggestions how to improve this?