feat: 初始化 vps-manager 资产管理系统(Asset/VPSDetail/DomainDetail/AIAccount 模型 + FastAPI 骨架)
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
"""SQLite 数据库连接与初始化"""
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
from sqlmodel import SQLModel, create_engine
|
||||
|
||||
BASE_DIR = Path(__file__).resolve().parent.parent
|
||||
DATA_DIR = BASE_DIR / "data"
|
||||
DATA_DIR.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
DB_URL = f"sqlite:///{DATA_DIR / 'vps_manager.db'}"
|
||||
|
||||
engine = create_engine(DB_URL, echo=False, connect_args={"check_same_thread": False})
|
||||
|
||||
|
||||
def init_db() -> None:
|
||||
"""创建所有表(幂等,可重复调用)"""
|
||||
# 显式导入模型,确保其注册到 SQLModel.metadata
|
||||
from app.models.asset import AIAccount, Asset, DomainDetail, VPSDetail # noqa: F401
|
||||
|
||||
SQLModel.metadata.create_all(engine)
|
||||
Reference in New Issue
Block a user