diff --git a/app/infrastructure/database/database.py b/app/infrastructure/database/database.py index c8fffb9..72e5ba9 100644 --- a/app/infrastructure/database/database.py +++ b/app/infrastructure/database/database.py @@ -2,14 +2,15 @@ import os from dotenv import load_dotenv from sqlalchemy import create_engine -from sqlalchemy.orm import sessionmaker, Session +from sqlalchemy.orm import sessionmaker from app.infrastructure.database.models import Base load_dotenv() SQLALCHEMY_DATABASE_URL = os.getenv("DATABASE_URL") -__factory = None +engine = create_engine(SQLALCHEMY_DATABASE_URL) +SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) def init_db(): @@ -23,14 +24,4 @@ def init_db(): import app.infrastructure.database.models.storages import app.infrastructure.database.models.users - global __factory - - engine = create_engine(SQLALCHEMY_DATABASE_URL) - __factory = sessionmaker(autocommit=False, autoflush=False, bind=engine) - Base.metadata.create_all(bind=engine) - - -def connect() -> Session: - global __factory - return __factory() diff --git a/app/infrastructure/database/dependencies.py b/app/infrastructure/database/dependencies.py new file mode 100644 index 0000000..b85eb82 --- /dev/null +++ b/app/infrastructure/database/dependencies.py @@ -0,0 +1,11 @@ +from sqlalchemy.orm import Session +from app.infrastructure.database.database import SessionLocal +from app.infrastructure.database.models import Base + + +def get_db() -> Session: + db = SessionLocal() + try: + yield db + finally: + db.close() diff --git a/app/infrastructure/database/repository/accessories_repository.py b/app/infrastructure/database/repository/accessories_repository.py new file mode 100644 index 0000000..e69de29