Hello, I am trying to use Turbogears 2.x with SQLAlchemy 0.5.1.
TG2 uses scoped sessions and uses an additional layer of transaction manager. If I have a scenario as follows: import transaction def main() try: add main_record to session query main_record to get primary key call foo() except Exception, e: transaction.abort() def foo(pid): add dependent record with main_record_primary_key as foreign_key raise exception for testing The above code is not rolling back the transaction. I realize the 'query main_record' will flush the main_record to the DB. But I am wondering if it is also 'commiting' the record. How do I debug this? Is there a debug flag in sqlalchemy which logs a commit operation? The associated initialization code in TG2 is: from zope.sqlalchemy import ZopeTransactionExtension from sqlalchemy.orm import scoped_session, sessionmaker from sqlalchemy.ext.declarative import declarative_base # Global session manager: DBSession() returns the Thread-local # session object appropriate for the current web request. maker = sessionmaker(autoflush=True, autocommit=False, extension=ZopeTransactionExtension()) DBSession = scoped_session(maker) metadata = DeclarativeBase.metadata The link to the thread on turbogears group is: http://groups.google.com/group/turbogears/browse_thread/thread/363c2e5ac7211a8 Thanks! -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalch...@googlegroups.com. To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.