lref-provider-sqlite
SQLite database provider for Rust Entity Framework (lref).
Implements DatabaseProvider, SqlGenerator, and AsyncConnection traits for SQLite using rusqlite with a tokio::sync::Mutex async wrapper.
Features
- Async-safe via
Arc<Mutex<Connection>> - File-based and in-memory (
:memory:) databases - WAL mode enabled by default for better concurrent read performance
- SQLite-native parameterized queries (
?) - Double-quoted identifier quoting (
"table_name") - Full CRUD, transactions,
AUTOINCREMENT - Bundled SQLite (
features = ["bundled"]) - ?no system SQLite required
Quick Start
[]
= "0.1"
= "0.1"
= { = "1", = ["full"] }
use DatabaseProvider;
use SqliteProvider;
use Arc;
// In-memory database
let provider = new;
// Or file-based
// let provider = Arc::new(SqliteProvider::new("myapp.db")?);
// Get a connection
let mut conn = provider.get_connection.await?;
// Execute parameterized query
conn.execute.await?;
// Query rows
let rows = conn.query.await?;
Full Example (In-Memory CRUD)
use *;
use SqliteProvider;
use Arc;
async
SQL Dialect
- Placeholders:
?(anonymous) - Identifiers:
"table_name"(double-quote) - Pagination:
LIMIT t OFFSET s - Auto-increment:
AUTOINCREMENT
License
MIT - ?see LICENSE