open_aigc_pattern_connection.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. """open_aigc_pattern 数据库连接封装(与 content_finder 默认 DB_* 不同)。"""
  2. from __future__ import annotations
  3. import os
  4. from urllib.parse import unquote, urlparse
  5. import pymysql
  6. def get_open_aigc_pattern_connection():
  7. """
  8. 获取 open_aigc_pattern 数据库连接。
  9. """
  10. host = os.getenv("OPEN_AIGC_PATTERN_DB_HOST", "").strip() or "rm-bp1k5853td1r25g3n690.mysql.rds.aliyuncs.com"
  11. port = int(os.getenv("OPEN_AIGC_PATTERN_DB_PORT", "3306"))
  12. user = os.getenv("OPEN_AIGC_PATTERN_DB_USER", "").strip() or "wx2016_longvideo"
  13. password = os.getenv("OPEN_AIGC_PATTERN_DB_PASSWORD", "") or "wx2016_longvideoP@assword1234"
  14. database = os.getenv("OPEN_AIGC_PATTERN_DB_NAME", "open_aigc_pattern").strip()
  15. if not all([host, user, database]):
  16. raise ValueError(
  17. "open_aigc_pattern 数据库未配置:请设置 OPEN_AIGC_PATTERN_DB_URL "
  18. "或 OPEN_AIGC_PATTERN_DB_HOST/USER/PASSWORD/NAME"
  19. )
  20. return pymysql.connect(
  21. host=host,
  22. port=port,
  23. user=user,
  24. password=password,
  25. database=database,
  26. charset="utf8mb4",
  27. cursorclass=pymysql.cursors.DictCursor,
  28. autocommit=True,
  29. )