database.py 629 B

1234567891011121314151617181920212223
  1. from sqlmodel import SQLModel, create_engine, Session
  2. from pathlib import Path
  3. import os
  4. MYSQL_USER = os.getenv("DB_USER", "root")
  5. MYSQL_PASS = os.getenv("DB_PASS", "792199Zhao*")
  6. MYSQL_HOST = os.getenv("DB_HOST", "localhost")
  7. MYSQL_PORT = os.getenv("DB_PORT", "3306")
  8. MYSQL_DB = os.getenv("DB_NAME", "cuowuben")
  9. DATABASE_URL = (
  10. f"mysql+pymysql://{MYSQL_USER}:{MYSQL_PASS}@{MYSQL_HOST}:{MYSQL_PORT}/{MYSQL_DB}"
  11. "?charset=utf8mb4"
  12. )
  13. engine = create_engine(DATABASE_URL, echo=False)
  14. def init_db():
  15. SQLModel.metadata.create_all(engine)
  16. def get_session():
  17. with Session(engine) as session:
  18. yield session