adb¶
Добавлено в версии 1.1.
- class pydantic_extra.adb.AsyncDB¶
Базовые классы:
pydantic.BaseModel,abc.ABCБазовый класс для конфигурации базы данных
- abstract property connect_str: str | sqlalchemy.URL¶
строка для
sqlalchemy.ext.asyncio.create_async_engine()(может бытьcached_property)
- property engine: AsyncEngine¶
Создаёт
AsyncEngine(может бытьcached_property)
- session() AsyncSession¶
Создаёт
AsyncSession
- setup_engine(engine: sqlalchemy.Engine) sqlalchemy.Engine¶
Настраивает экземпляр
AsyncEngineдля работы с данным диалектомengine()применяет данный метод.
- class pydantic_extra.adb.AsyncSQLite¶
Базовые классы:
AsyncDB,CustomLibraryMixinКонфигурация для базы данных SQLite
- path: pathlib.Path¶
путь до базы данных
- library: str = "aiosqlite"¶
Используемая библиотека. Способы замены.
- class pydantic_extra.adb.AsyncMySQL¶
Базовые классы:
AsyncDB,CustomLibraryMixinКонфигурация для базы данных MySQL и MariaDB
- library: str = "aiomysql"¶
Используемая библиотека. Способы замены.
- class pydantic_extra.adb.AsyncAnyDB¶
Базовые классы:
AsyncDBКонфигурация для любой базы данных
- str_: str¶
В конфигурации используйте str.
Строка для SQLAlchemy
- type pydantic_extra.adb.T_AsyncDB = AsyncSQLite | AsyncMySQL | AsyncAnyDB¶
Пример:¶
from pydantic import BaseModel, Field
from pydantic_extra.adb import T_AsyncDB
class Config(BaseModel):
db: T_AsyncDB = Field(discriminator="type")