app.engine   A
last analyzed

Complexity

Total Complexity 0

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 0
eloc 18
dl 0
loc 24
rs 10
c 0
b 0
f 0
1
import os
2
3
from sqlalchemy.ext.asyncio import create_async_engine, async_sessionmaker
4
5
SQLALCHEMY_DATABASE_URI = os.environ.get("LOD_DATABASE_URL")
6
SQL_REQUESTS_ECHO = bool(int(os.environ.get("SQL_REQUESTS_ECHO", 0)))
7
8
if not SQLALCHEMY_DATABASE_URI:
9
    raise ValueError("LOD_DATABASE_URL is not set")
10
11
engine = create_async_engine(
12
    SQLALCHEMY_DATABASE_URI,
13
    echo=SQL_REQUESTS_ECHO,
14
    pool_size=2,
15
    pool_recycle=5,
16
    max_overflow=0,
17
    pool_pre_ping=True,
18
)
19
20
async_session_maker = async_sessionmaker(
21
    bind=engine,
22
    future=True,
23
    expire_on_commit=False,
24
)
25