""" 期货智析数据库 - 独立存储 """ from pathlib import Path from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker, declarative_base from datetime import datetime # 数据目录 DATA_DIR = Path(__file__).resolve().parent.parent / "data" DATA_DIR.mkdir(parents=True, exist_ok=True) ANALYSIS_DB_PATH = DATA_DIR / "futures_analysis.db" analysis_engine = create_engine( f"sqlite:///{ANALYSIS_DB_PATH}", connect_args={"check_same_thread": False}, pool_pre_ping=True, ) AnalysisSessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=analysis_engine) AnalysisBase = declarative_base() def get_analysis_db(): """获取期货智析数据库会话""" db = AnalysisSessionLocal() try: yield db finally: db.close() def init_analysis_db(): """初始化期货智析数据库表""" # 确保导入所有模型类,使其注册到 AnalysisBase from app import analysis_models # 直接导入 analysis_models 模块中的所有类 from app.analysis_models import FuturesAnalysis, WatchedSymbol, AIModelConfig, AnalysisSettings, AIAnalysisCache AnalysisBase.metadata.create_all(bind=analysis_engine)