|
@@ -84,24 +84,23 @@ if "sqlite" in SQLALCHEMY_DATABASE_URL:
|
|
|
SQLALCHEMY_DATABASE_URL, connect_args={"check_same_thread": False}
|
|
|
)
|
|
|
else:
|
|
|
- if DATABASE_POOL_SIZE > 0:
|
|
|
- engine = create_engine(
|
|
|
- SQLALCHEMY_DATABASE_URL,
|
|
|
- pool_size=DATABASE_POOL_SIZE,
|
|
|
- max_overflow=DATABASE_POOL_MAX_OVERFLOW,
|
|
|
- pool_timeout=DATABASE_POOL_TIMEOUT,
|
|
|
- pool_recycle=DATABASE_POOL_RECYCLE,
|
|
|
- pool_pre_ping=True,
|
|
|
- poolclass=QueuePool,
|
|
|
- )
|
|
|
- elif DATABASE_POOL_SIZE == 0:
|
|
|
- engine = create_engine(
|
|
|
- SQLALCHEMY_DATABASE_URL, pool_pre_ping=True, poolclass=NullPool
|
|
|
- )
|
|
|
+ if isinstance(DATABASE_POOL_SIZE, int):
|
|
|
+ if DATABASE_POOL_SIZE > 0:
|
|
|
+ engine = create_engine(
|
|
|
+ SQLALCHEMY_DATABASE_URL,
|
|
|
+ pool_size=DATABASE_POOL_SIZE,
|
|
|
+ max_overflow=DATABASE_POOL_MAX_OVERFLOW,
|
|
|
+ pool_timeout=DATABASE_POOL_TIMEOUT,
|
|
|
+ pool_recycle=DATABASE_POOL_RECYCLE,
|
|
|
+ pool_pre_ping=True,
|
|
|
+ poolclass=QueuePool,
|
|
|
+ )
|
|
|
+ else:
|
|
|
+ engine = create_engine(
|
|
|
+ SQLALCHEMY_DATABASE_URL, pool_pre_ping=True, poolclass=NullPool
|
|
|
+ )
|
|
|
else:
|
|
|
- engine = create_engine(
|
|
|
- SQLALCHEMY_DATABASE_URL, pool_pre_ping=True
|
|
|
- )
|
|
|
+ engine = create_engine(SQLALCHEMY_DATABASE_URL, pool_pre_ping=True)
|
|
|
|
|
|
|
|
|
SessionLocal = sessionmaker(
|