[database] fix invalid transaction being left open
This commit is contained in:
@ -1,12 +1,11 @@
|
||||
import logging
|
||||
import os
|
||||
import secrets
|
||||
import ssl
|
||||
import string
|
||||
import warnings
|
||||
from hashlib import sha256
|
||||
from logging.handlers import TimedRotatingFileHandler
|
||||
from typing import Any, ClassVar, Optional
|
||||
from typing import ClassVar, Optional
|
||||
|
||||
import alembic.config
|
||||
import bcrypt
|
||||
@ -17,6 +16,7 @@ from sqlalchemy.ext.asyncio import (
|
||||
AsyncSession,
|
||||
create_async_engine,
|
||||
)
|
||||
from sqlalchemy.orm import sessionmaker
|
||||
|
||||
from core.config import CoreConfig
|
||||
from core.data.schema import ArcadeData, BaseData, CardData, UserData, metadata
|
||||
@ -25,7 +25,7 @@ from core.utils import MISSING, Utils
|
||||
|
||||
class Data:
|
||||
engine: ClassVar[AsyncEngine] = MISSING
|
||||
session: ClassVar[AsyncSession] = MISSING
|
||||
session: ClassVar[sessionmaker[AsyncSession]] = MISSING
|
||||
user: ClassVar[UserData] = MISSING
|
||||
arcade: ClassVar[ArcadeData] = MISSING
|
||||
card: ClassVar[CardData] = MISSING
|
||||
@ -53,7 +53,7 @@ class Data:
|
||||
self.__engine = Data.engine
|
||||
|
||||
if Data.session is MISSING:
|
||||
Data.session = AsyncSession(Data.engine, expire_on_commit=False)
|
||||
Data.session = sessionmaker(Data.engine, expire_on_commit=False, class_=AsyncSession)
|
||||
|
||||
if Data.user is MISSING:
|
||||
Data.user = UserData(self.config, self.session)
|
||||
|
Reference in New Issue
Block a user