Coverage for app/core/database.py: 100%

7 statements  

« prev     ^ index     » next       coverage.py v7.9.2, created at 2025-07-18 02:28 +0000

1import os 

2from sqlalchemy import create_engine 

3from sqlalchemy.orm import sessionmaker, declarative_base 

4 

5DATABASE_URL = os.getenv("DATABASE_URL", "sqlite:///:memory:") 

6 

7engine = create_engine( 

8 DATABASE_URL, 

9 connect_args={"check_same_thread": False} if "sqlite" in DATABASE_URL else {}, 

10) 

11SessionLocal = sessionmaker(bind=engine, autocommit=False, autoflush=False) 

12Base = declarative_base() 

13 

14 

15def get_db(): # pragma: no cover 

16 db = SessionLocal() 

17 try: 

18 yield db 

19 finally: 

20 db.close() 

21