事务作用域上下文管理器 使用示例: with session_scope() as session: # 数据库操作 pass
(self)
| 133 | |
| 134 | @contextmanager |
| 135 | def session_scope(self) -> Generator[Session, None, None]: |
| 136 | """ |
| 137 | 事务作用域上下文管理器 |
| 138 | 使用示例: |
| 139 | with session_scope() as session: |
| 140 | # 数据库操作 |
| 141 | pass |
| 142 | """ |
| 143 | session = self.SessionLocal() |
| 144 | try: |
| 145 | yield session |
| 146 | session.commit() |
| 147 | except Exception as e: |
| 148 | session.rollback() |
| 149 | raise e |
| 150 | finally: |
| 151 | session.close() |
| 152 | |
| 153 | def create_tables(self): |
| 154 | """创建所有表""" |