Răsfoiți Sursa

修复数据库bug

lxylxy123321 2 săptămâni în urmă
părinte
comite
c835603f0b
2 a modificat fișierele cu 10 adăugiri și 0 ștergeri
  1. 1 0
      backend/app/config.py
  2. 9 0
      backend/app/core/db.py

+ 1 - 0
backend/app/config.py

@@ -89,6 +89,7 @@ class Settings(BaseSettings):
         return self.data_dir / "processed"
 
     def ensure_dirs(self) -> None:
+        self.data_dir.mkdir(parents=True, exist_ok=True)
         for d in [self.models_dir, self.adapters_dir, self.uploads_dir, self.processed_dir]:
             d.mkdir(parents=True, exist_ok=True)
 

+ 9 - 0
backend/app/core/db.py

@@ -4,10 +4,19 @@ from sqlalchemy import Column, DateTime, Float, Integer, String, Text
 from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker, create_async_engine
 from sqlalchemy.orm import declarative_base
 
+from pathlib import Path
+
 from app.config import get_settings
 
 settings = get_settings()
 
+# 确保数据库目录存在
+db_path = settings.database_url.replace("sqlite+aiosqlite:///", "")
+if db_path.startswith("sqlite+aiosqlite:///"):
+    db_path = db_path.replace("sqlite+aiosqlite:///", "")
+if db_path and not db_path.startswith("memory"):
+    Path(db_path).parent.mkdir(parents=True, exist_ok=True)
+
 Base = declarative_base()
 
 engine = create_async_engine(