SqliteDb
Store sessions, memories, metrics, knowledge, evals, and traces in SQLite.
SqliteDb is a class that implements the Db interface using SQLite as the backend storage system. It provides lightweight, file-based storage for agent sessions with support for JSON data types and schema versioning.
| Parameter | Type | Default | Description |
|---|---|---|---|
id | Optional[str] | None | Database ID. Generated when omitted. |
db_engine | Optional[Engine] | None | SQLAlchemy database engine. Takes precedence over db_url and db_file. |
db_url | Optional[str] | None | Database URL. Used when db_engine is omitted. |
db_file | Optional[str] | None | Database file. Creates ./agno.db when no connection option is provided. |
session_table | Optional[str] | None | Table for Agent, Team, and Workflow sessions. Uses "agno_sessions" when omitted. |
runs_table | Optional[str] | None | Storage name for individual runs. Defaults to agno_runs, or <session_table>_runs when a custom session name is supplied. |
memory_table | Optional[str] | None | Table for user memories. Uses "agno_memories" when omitted. |
metrics_table | Optional[str] | None | Table for metrics. Uses "agno_metrics" when omitted. |
eval_table | Optional[str] | None | Table for evaluation run data. Uses "agno_eval_runs" when omitted. |
knowledge_table | Optional[str] | None | Table for knowledge documents. Uses "agno_knowledge" when omitted. |
traces_table | Optional[str] | None | Table for traces. Uses "agno_traces" when omitted. |
spans_table | Optional[str] | None | Table for spans. Uses "agno_spans" when omitted. |
versions_table | Optional[str] | None | Table for schema versions. Uses "agno_schema_versions" when omitted. |
components_table | Optional[str] | None | Table for components. Uses "agno_components" when omitted. |
component_configs_table | Optional[str] | None | Table for component configurations. Uses "agno_component_configs" when omitted. |
component_links_table | Optional[str] | None | Table for component links. Uses "agno_component_links" when omitted. |
learnings_table | Optional[str] | None | Table for learnings. Uses "agno_learnings" when omitted. |
schedules_table | Optional[str] | None | Table for cron schedules. Uses "agno_schedules" when omitted. |
schedule_runs_table | Optional[str] | None | Table for schedule run history. Uses "agno_schedule_runs" when omitted. |
approvals_table | Optional[str] | None | Table for human approval requests. Uses "agno_approvals" when omitted. |
auth_tokens_table | Optional[str] | None | Table for OAuth tokens. Uses "agno_auth_tokens" when omitted. |
service_accounts_table | Optional[str] | None | Table for service accounts. Uses "agno_service_accounts" when omitted. |
mcp_oauth_clients_table | Optional[str] | None | Table for MCP OAuth client registrations. Uses "agno_mcp_oauth_clients" when omitted. |
mcp_oauth_transactions_table | Optional[str] | None | Table for MCP OAuth transactions. Uses "agno_mcp_oauth_transactions" when omitted. |
mcp_oauth_codes_table | Optional[str] | None | Table for MCP OAuth authorization codes. Uses "agno_mcp_oauth_codes" when omitted. |
mcp_oauth_refresh_tokens_table | Optional[str] | None | Table for MCP OAuth refresh tokens. Uses "agno_mcp_oauth_refresh_tokens" when omitted. |
mcp_oauth_keys_table | Optional[str] | None | Table for MCP OAuth signing keys. Uses "agno_mcp_oauth_keys" when omitted. |
Methods
upsert_sessions
Upsert multiple sessions in one method call.
Parameters:
sessions(List[Session]): List of sessions to upsertdeserialize(Optional[bool]): Whether to deserialize the sessions. Defaults toTruepreserve_updated_at(bool): Request preservation of the sessions' existingupdated_attimestamps; see adapter limitations below. Defaults toFalse
Returns: List[Union[Session, Dict[str, Any]]]
upsert_memories
Upsert multiple memories in one method call.
Parameters:
memories(List[UserMemory]): List of memories to upsertdeserialize(Optional[bool]): Whether to deserialize the memories. Defaults toTruepreserve_updated_at(bool): Request preservation of the memories' existingupdated_attimestamps; see adapter limitations below. Defaults toFalse
Returns: List[Union[UserMemory, Dict[str, Any]]]
Timestamp preservation by adapter
JsonDb, GcsJsonDb, FirestoreDb, RedisDb, DynamoDb, and InMemoryDb accept preserve_updated_at but do not forward it to their individual upserts. Their bulk methods replace timestamps even when it is True.
PostgresDb, SingleStoreDb, and ValkeyDb honor the flag. MySQLDb, SqliteDb, and MongoDb honor it on their optimized bulk path; their per-record fallback paths do not forward it. Verify timestamps when a migration depends on preserving them.