didier/database/engine.py

25 lines
705 B
Python
Raw Normal View History

from urllib.parse import quote_plus
from sqlalchemy.engine import URL
from sqlalchemy.ext.asyncio import async_sessionmaker, create_async_engine
import settings
encoded_postgres_password = quote_plus(settings.POSTGRES_PASS)
2022-07-19 18:49:22 +02:00
2022-07-25 20:33:20 +02:00
# PostgreSQL engine
postgres_engine = create_async_engine(
2022-07-19 18:57:24 +02:00
URL.create(
drivername="postgresql+asyncpg",
2022-07-25 19:07:57 +02:00
username=settings.POSTGRES_USER,
password=encoded_postgres_password,
2022-07-25 19:07:57 +02:00
host=settings.POSTGRES_HOST,
port=settings.POSTGRES_PORT,
database=settings.POSTGRES_DB,
2022-07-19 18:57:24 +02:00
),
2022-06-29 00:14:44 +02:00
pool_pre_ping=True,
2022-06-30 15:20:54 +02:00
future=True,
2022-06-29 00:14:44 +02:00
)
DBSession = async_sessionmaker(autocommit=False, autoflush=False, bind=postgres_engine, expire_on_commit=False)