| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- from pydantic_settings import BaseSettings, SettingsConfigDict
- class DatabaseConfig(BaseSettings):
- """数据库配置基类"""
- host: str
- port: int = 3306
- user: str
- password: str
- db: str
- charset: str = "utf8mb4"
- minsize: int = 5
- maxsize: int = 20
- model_config = SettingsConfigDict(
- env_prefix="", case_sensitive=False, extra="ignore"
- )
- def to_dict(self) -> dict:
- """转换为字典格式,用于兼容旧代码"""
- return {
- "host": self.host,
- "port": self.port,
- "user": self.user,
- "password": self.password,
- "db": self.db,
- "charset": self.charset,
- "minsize": self.minsize,
- "maxsize": self.maxsize,
- }
- class AigcDatabaseConfig(DatabaseConfig):
- """AIGC 数据库配置"""
- model_config = SettingsConfigDict(
- env_prefix="AIGC_DB_", env_file=".env", case_sensitive=False, extra="ignore"
- )
- class LongVideoDatabaseConfig(DatabaseConfig):
- """长视频数据库配置"""
- model_config = SettingsConfigDict(
- env_prefix="LONG_VIDEO_DB_",
- env_file=".env",
- case_sensitive=False,
- extra="ignore",
- )
- class LongArticlesDatabaseConfig(DatabaseConfig):
- """长文数据库配置"""
- model_config = SettingsConfigDict(
- env_prefix="LONG_ARTICLES_DB_",
- env_file=".env",
- case_sensitive=False,
- extra="ignore",
- )
- class PiaoquanCrawlerDatabaseConfig(DatabaseConfig):
- """票圈爬虫数据库配置"""
- model_config = SettingsConfigDict(
- env_prefix="PIAOQUAN_CRAWLER_DB_",
- env_file=".env",
- case_sensitive=False,
- extra="ignore",
- )
- class GrowthDatabaseConfig(DatabaseConfig):
- """增长数据库配置"""
- model_config = SettingsConfigDict(
- env_prefix="GROWTH_DB_", env_file=".env", case_sensitive=False, extra="ignore"
- )
|