use AsyncSession directly
see the warnings in https://docs.sqlalchemy.org/en/14/orm/extensions/asyncio.html#using-asyncio-scoped-session
This commit is contained in:
parent
4c33f4282a
commit
789d50c406
@ -1,4 +1,3 @@
|
|||||||
import asyncio
|
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
import secrets
|
import secrets
|
||||||
@ -15,10 +14,8 @@ import pymysql.err
|
|||||||
from sqlalchemy.ext.asyncio import (
|
from sqlalchemy.ext.asyncio import (
|
||||||
AsyncEngine,
|
AsyncEngine,
|
||||||
AsyncSession,
|
AsyncSession,
|
||||||
async_scoped_session,
|
|
||||||
create_async_engine,
|
create_async_engine,
|
||||||
)
|
)
|
||||||
from sqlalchemy.orm import sessionmaker
|
|
||||||
|
|
||||||
from core.config import CoreConfig
|
from core.config import CoreConfig
|
||||||
from core.data.schema import ArcadeData, BaseData, CardData, UserData, metadata
|
from core.data.schema import ArcadeData, BaseData, CardData, UserData, metadata
|
||||||
@ -47,8 +44,7 @@ class Data:
|
|||||||
self.__engine = Data.engine
|
self.__engine = Data.engine
|
||||||
|
|
||||||
if Data.session is MISSING:
|
if Data.session is MISSING:
|
||||||
s = sessionmaker(Data.engine, expire_on_commit=False, class_=AsyncSession)
|
Data.session = AsyncSession(Data.engine, expire_on_commit=False)
|
||||||
Data.session = async_scoped_session(s, asyncio.current_task)
|
|
||||||
|
|
||||||
if Data.user is MISSING:
|
if Data.user is MISSING:
|
||||||
Data.user = UserData(self.config, self.session)
|
Data.user = UserData(self.config, self.session)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user