改用mysql

This commit is contained in:
amb
2026-09-02 11:19:49 +08:00
parent 410bd30b2e
commit 73c4d83f42
24 changed files with 831 additions and 258 deletions
+12 -4
View File
@@ -1,8 +1,8 @@
"""全局配置:pydantic-settings,全部来自环境变量 / .env。
规则docs/technical-review.md §1.3
规则:
- 密钥不得硬编码;SECRET_KEY 缺失或仍为模板值时,生产环境拒绝启动。
- DATABASE_URL 可切换 PostgreSQL(扩展接口 1
- DATABASE_URL 支持 MySQL / SQLite
"""
from functools import lru_cache
@@ -22,7 +22,7 @@ class Settings(BaseSettings):
secret_key: str = Field(min_length=16)
# --- 数据库 ---
database_url: str = "sqlite:///./data/app.db"
database_url: str = "mysql+pymysql://admin:Lzcc6-01@47.109.98.44:33306/amb_rag?charset=utf8mb4"
# --- 文件存储 ---
storage_root: str = "./data"
@@ -42,6 +42,14 @@ class Settings(BaseSettings):
def is_production(self) -> bool:
return self.environment == "production"
@property
def is_mysql(self) -> bool:
return "mysql" in self.database_url
@property
def is_sqlite(self) -> bool:
return "sqlite" in self.database_url
@property
def storage_root_path(self) -> Path:
return Path(self.storage_root).resolve()
@@ -63,4 +71,4 @@ class Settings(BaseSettings):
def get_settings() -> Settings:
s = Settings() # type: ignore[call-arg]
s.validate_secrets()
return s
return s