Библиотеки для подключения

Sqlite поддерживается стандартной библиотекой python.

Для AnyDB и AsyncAnyDB библиотека для подключения задаётся конечным пользователем и он ответственный за её установку.

Для Mysql, AsyncMysql, AsyncSqlite используются внешние библиотеки. Используемые по умолчанию библиотеки (PyMySQL, aiomysql, aiosqlite), устанавливаются в группах db_full и adb_full

Замена библиотек

Для замены библиотеки (один пункт на выбор):

  • изменить _library поле класса

    from pydantic_extra.db import MySQL
    
    MySQL._library = "other_library"
    
  • изменить library поле экземпляра

    from pydantic_extra.db import MySQL
    
    db = MySQL.model_validate(...)
    db.library = "other_library"
    
  • создать подкласс указав параметр default_library

    from pydantic_extra.db import AnyDB, Mysql as _Mysql, SQLite
    
    
    class Mysql(_Mysql, default_library="other_library"):
        pass
    
    
    T_DB = SQLite | Mysql | AnyDB