2024-10-03 21:59:35 +05:00

37 lines
1.0 KiB
Python

import os
from dotenv import load_dotenv
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker, Session
from app.infrastructure.database.models import Base
load_dotenv()
SQLALCHEMY_DATABASE_URL = os.getenv("DATABASE_URL")
__factory = None
def init_db():
import app.infrastructure.database.models.accessories
import app.infrastructure.database.models.deliveries
import app.infrastructure.database.models.orders
import app.infrastructure.database.models.roles
import app.infrastructure.database.models.statuses
import app.infrastructure.database.models.steps
import app.infrastructure.database.models.storage_accessories
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()