mysql.py 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. from pydantic_settings import BaseSettings, SettingsConfigDict
  2. class DatabaseConfig(BaseSettings):
  3. """数据库配置基类"""
  4. host: str
  5. port: int = 3306
  6. user: str
  7. password: str
  8. db: str
  9. charset: str = "utf8mb4"
  10. minsize: int = 5
  11. maxsize: int = 20
  12. model_config = SettingsConfigDict(
  13. env_prefix="", case_sensitive=False, extra="ignore"
  14. )
  15. def to_dict(self) -> dict:
  16. """转换为字典格式,用于兼容旧代码"""
  17. return {
  18. "host": self.host,
  19. "port": self.port,
  20. "user": self.user,
  21. "password": self.password,
  22. "db": self.db,
  23. "charset": self.charset,
  24. "minsize": self.minsize,
  25. "maxsize": self.maxsize,
  26. }
  27. class AigcDatabaseConfig(DatabaseConfig):
  28. """AIGC 数据库配置"""
  29. host: str = "rm-t4na9qj85v7790tf84o.mysql.singapore.rds.aliyuncs.com"
  30. user: str = "crawler_admin"
  31. password: str = "cyber#crawler_2023"
  32. db: str = "aigc-admin-prod"
  33. model_config = SettingsConfigDict(
  34. env_prefix="AIGC_DB_", env_file=".env", case_sensitive=False, extra="ignore"
  35. )
  36. class LongVideoDatabaseConfig(DatabaseConfig):
  37. """长视频数据库配置"""
  38. host: str = "rr-bp1x9785e8h5452bi157.mysql.rds.aliyuncs.com"
  39. user: str = "wx2016_longvideo"
  40. password: str = "wx2016_longvideoP@assword1234"
  41. db: str = "longvideo"
  42. model_config = SettingsConfigDict(
  43. env_prefix="LONG_VIDEO_DB_",
  44. env_file=".env",
  45. case_sensitive=False,
  46. extra="ignore",
  47. )
  48. class LongArticlesDatabaseConfig(DatabaseConfig):
  49. """长文数据库配置"""
  50. host: str = "rm-bp14529nwwcw75yr1ko.mysql.rds.aliyuncs.com"
  51. user: str = "changwen_admin"
  52. password: str = "changwen@123456"
  53. db: str = "long_articles"
  54. model_config = SettingsConfigDict(
  55. env_prefix="LONG_ARTICLES_DB_",
  56. env_file=".env",
  57. case_sensitive=False,
  58. extra="ignore",
  59. )
  60. class PiaoquanCrawlerDatabaseConfig(DatabaseConfig):
  61. """票圈爬虫数据库配置"""
  62. host: str = "rm-bp1159bu17li9hi94.mysql.rds.aliyuncs.com"
  63. user: str = "crawler"
  64. password: str = "crawler123456@"
  65. db: str = "piaoquan-crawler"
  66. model_config = SettingsConfigDict(
  67. env_prefix="PIAOQUAN_CRAWLER_DB_",
  68. env_file=".env",
  69. case_sensitive=False,
  70. extra="ignore",
  71. )
  72. class GrowthDatabaseConfig(DatabaseConfig):
  73. """增长数据库配置"""
  74. host: str = "rm-bp17q95335a99272b.mysql.rds.aliyuncs.com"
  75. user: str = "crawler"
  76. password: str = "crawler123456@"
  77. db: str = "growth"
  78. model_config = SettingsConfigDict(
  79. env_prefix="GROWTH_DB_", env_file=".env", case_sensitive=False, extra="ignore"
  80. )