Pridani skriptu pro pridani elevace, uprava prace s transakcemi
This commit is contained in:
@@ -1,9 +1,30 @@
|
||||
from contextlib import asynccontextmanager
|
||||
from typing import AsyncGenerator
|
||||
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from database import async_session
|
||||
|
||||
|
||||
@asynccontextmanager
|
||||
async def get_session():
|
||||
async with async_session() as session:
|
||||
async with session.begin():
|
||||
try:
|
||||
yield session
|
||||
await session.commit()
|
||||
except:
|
||||
await session.rollback()
|
||||
raise
|
||||
finally:
|
||||
session.expunge_all()
|
||||
await session.close()
|
||||
|
||||
|
||||
async def db_session():
|
||||
async with async_session() as session:
|
||||
async with session.begin():
|
||||
yield session
|
||||
await session.flush()
|
||||
await session.commit()
|
||||
print("CCCCCCCCCCCCCOOOOOOOOOOOOOOMMMMMMMMMMIIIIIIIIIIIITTTTTTTTTTTT")
|
||||
|
||||
Reference in New Issue
Block a user