| 123456789101112131415161718 |
- """
- SQLAlchemy async engine and sessions tools
- https://docs.sqlalchemy.org/en/20/orm/extensions/asyncio.html
- """
- from sqlalchemy.ext.asyncio import async_sessionmaker, create_async_engine
- from app.core import config
- if config.settings.ENVIRONMENT == "PYTEST":
- sqlalchemy_database_uri = config.settings.TEST_SQLALCHEMY_DATABASE_URI
- else:
- sqlalchemy_database_uri = config.settings.DEFAULT_SQLALCHEMY_DATABASE_URI
- async_engine = create_async_engine(sqlalchemy_database_uri, pool_pre_ping=True)
- async_session = async_sessionmaker(async_engine, expire_on_commit=False)
|