def __exit__(self, error_type, error_value, traceback): if error_type is None: try: self.commit() except: with safe_reraise(): self.rollback() else: self.rollback()
async def __aexit__(self, exc_type, exc_val, exc_tb): if exc_type is None and self._result._transaction.is_active: try: await self._result.commit() except: with util.safe_reraise(): await self._result.rollback() else: await self._result.rollback()
def commit_scope(session=None): """Commit any database operations within this scope.""" session = session or Session() try: yield session session.commit() except Exception: with safe_reraise(): session.rollback()
def wrapper(*args, **kwargs): try: result = f(*args, **kwargs) db.session.commit() except: with safe_reraise(): db.session.rollback() else: return result
def __exit__(self, error_type, error_value, traceback): """End a transaction by committing or rolling back.""" if error_type is None: try: self.commit() except Exception: with safe_reraise(): self.rollback() else: self.rollback()
def __exit__(self, error_type, error_value, traceback): """End a transaction by committing or rolling back.""" if error_type is None: try: self.commit() except: with safe_reraise(): self.rollback() else: self.rollback()