This commit is contained in:
Андрей Дувакин 2024-10-03 22:10:27 +05:00
parent 78e937ff19
commit 8c91c13ab1
3 changed files with 14 additions and 12 deletions

View File

@ -2,14 +2,15 @@ import os
from dotenv import load_dotenv from dotenv import load_dotenv
from sqlalchemy import create_engine from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker, Session from sqlalchemy.orm import sessionmaker
from app.infrastructure.database.models import Base from app.infrastructure.database.models import Base
load_dotenv() load_dotenv()
SQLALCHEMY_DATABASE_URL = os.getenv("DATABASE_URL") 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(): def init_db():
@ -23,14 +24,4 @@ def init_db():
import app.infrastructure.database.models.storages import app.infrastructure.database.models.storages
import app.infrastructure.database.models.users 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) Base.metadata.create_all(bind=engine)
def connect() -> Session:
global __factory
return __factory()

View File

@ -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()