添加异步数据库支持,更新相关模型和会话管理

This commit is contained in:
jxxghp
2025-07-30 13:18:45 +08:00
parent 6d1de8a2e4
commit f14f4e1e9b
8 changed files with 286 additions and 382 deletions

View File

@@ -1,7 +1,8 @@
from sqlalchemy import Column, Integer, String, Sequence
from sqlalchemy import Column, Integer, String, Sequence, select
from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy.orm import Session
from app.db import db_query, Base
from app.db import db_query, Base, async_db_query
class SiteIcon(Base):
@@ -22,3 +23,9 @@ class SiteIcon(Base):
@db_query
def get_by_domain(db: Session, domain: str):
return db.query(SiteIcon).filter(SiteIcon.domain == domain).first()
@classmethod
@async_db_query
async def async_get_by_domain(cls, db: AsyncSession, domain: str):
result = await db.execute(select(cls).where(cls.domain == domain))
return result.scalar_one_or_none()