Expand description
SQLite storage engine for Ankurah
Provides a lightweight embedded database storage option using SQLite. Sits between Sled (pure KV) and Postgres (full SQL server), offering:
- Single-file database (portable, easy backup)
- Full SQL query capabilities without external server
- Native support on all platforms including mobile (iOS, Android)
§SQLite Version Requirements
This implementation requires SQLite 3.45.0 or later for JSONB support.
The rusqlite crate with the “bundled” feature includes a compatible
SQLite version by default. JSONB support enables:
jsonb()function for type-aware JSON comparisons->and->>operators for JSON path traversal- Efficient JSONB storage as BLOB
See SQLite JSON documentation for details.
§Example
ⓘ
use ankurah_storage_sqlite::SqliteStorageEngine;
// Open a file-based database
let storage = SqliteStorageEngine::open("myapp.db").await?;
// Or use an in-memory database for testing
let storage = SqliteStorageEngine::open_in_memory().await?;Modules§
- sql_
builder - SQL builder for SQLite queries
Structs§
- Sqlite
Bucket - SQLite storage bucket (collection)
- Sqlite
Connection Manager - A wrapper around a SQLite connection that can be used with bb8
- Sqlite
Storage Engine - SQLite storage engine
Enums§
- Sqlite
Error - Sqlite
Value - SQLite value wrapper for type mapping