15 lines
No EOL
337 B
Python
15 lines
No EOL
337 B
Python
|
|
|
|
|
|
@contextmanager
|
|
def session_scope(session):
|
|
"""Provide a transactional scope around a series of operations."""
|
|
try:
|
|
yield session
|
|
session.commit()
|
|
except Exception as e:
|
|
session.rollback()
|
|
logger.error(f"Session rollback due to: {str(e)}")
|
|
raise
|
|
finally:
|
|
session.close() |