From 65dab51734b422da060727c0f49ccda7b213aef4 Mon Sep 17 00:00:00 2001 From: 283375 Date: Sun, 9 Nov 2025 00:40:23 +0800 Subject: [PATCH] fix(core): database logics --- core/database/conn.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/core/database/conn.py b/core/database/conn.py index e52716d..95c31c2 100644 --- a/core/database/conn.py +++ b/core/database/conn.py @@ -1,6 +1,7 @@ from pathlib import Path -from sqlalchemy import text +from arcaea_offline.models import CalculatedPotential +from sqlalchemy import select from sqlalchemy.orm import sessionmaker from core.settings import SettingsKeys, settings @@ -17,13 +18,14 @@ class Database: if not db_path: raise ValueError("DatabaseConn is empty") - self.engine = create_engine(db_path_to_sqlite_url(Path(db_path))) + db_path = Path(db_path) + if not db_path.exists(): + raise FileNotFoundError(f"{db_path} does not exist") + + self.engine = create_engine(db_path_to_sqlite_url(db_path)) self.sessionmaker = sessionmaker(bind=self.engine) @property def b30(self) -> float | None: with self.sessionmaker() as session: - result = session.execute( - text("SELECT b30 FROM calculated_potential") - ).fetchone() - return result[0] if result else None + return session.scalar(select(CalculatedPotential.b30))