from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker from dotenv import load_dotenv import os # Load environment variables from .env file load_dotenv() # Ensure all required environment variables are set # MYSQL_USER = os.environ.get('MYSQL_USER') # MYSQL_PASSWORD = os.environ.get('MYSQL_PASSWORD') # MYSQL_HOST = os.environ.get('MYSQL_HOST') # MYSQL_PORT = os.environ.get('MYSQL_PORT') # MYSQL_DB = os.environ.get('MYSQL_DB') # if not all([MYSQL_USER, MYSQL_PASSWORD, MYSQL_HOST, MYSQL_PORT, MYSQL_DB]): # raise ValueError("Some of the required environment variables are not set.") # Create the database URL engine = create_engine('sqlite:///:memory:', echo=True) SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) Base = declarative_base() def get_db(): db = SessionLocal() try: yield db finally: db.close()