raito.utils.storages.sql.sqlalchemy module

class raito.utils.storages.sql.sqlalchemy.SQLAlchemyStorage(engine, session_factory=None, key_separator=':')[исходный код]

Базовые классы: BaseStorage

SQLAlchemy storage for FSM.

Параметры:
  • engine (AsyncEngine)

  • session_factory (async_sessionmaker[AsyncSession] | None)

  • key_separator (str)

async classmethod from_url(url, *, echo=False, pool_size=10, max_overflow=0, **kwargs)[исходный код]

Create storage from database URL.

Параметры:
  • url (str) – Database URL

  • echo (bool) – Enable SQL logging

  • pool_size (int) – Connection pool size

  • max_overflow (int) – Max overflow connections

  • kwargs (Any)

Результат:

Configured storage instance

Тип результата:

BaseSQLAlchemyStorage

async get_state(key)[исходный код]

Get key state.

Параметры:

key (StorageKey) – Storage key

Результат:

Current state

Тип результата:

str | None

async get_data(key)[исходный код]

Get current data for key.

Параметры:

key (StorageKey) – Storage key

Результат:

Current data

Тип результата:

Dict[str, Any]

async update_data(key, data)[исходный код]

Update data in the storage for key.

Параметры:
  • key (StorageKey) – Storage key

  • data (Dict[str, Any]) – Data to update

Результат:

Updated data

Тип результата:

Dict[str, Any]

async close()[исходный код]

Close the storage.

Тип результата:

None

async migrate()[исходный код]

Create tables if not exist.

Тип результата:

None