prax_sqlite/lib.rs
1//! SQLite database driver for Prax ORM.
2//!
3//! This crate provides SQLite support for the Prax ORM, using `tokio-rusqlite`
4//! for asynchronous database operations.
5//!
6//! # Features
7//!
8//! - Async/await support via `tokio-rusqlite`
9//! - Connection pooling
10//! - Type-safe query building
11//! - Transaction support
12//! - In-memory and file-based databases
13//!
14//! # Example
15//!
16//! ```rust,ignore
17//! use prax_sqlite::{SqlitePool, SqliteConfig};
18//!
19//! #[tokio::main]
20//! async fn main() -> Result<(), Box<dyn std::error::Error>> {
21//! let config = SqliteConfig::from_url("sqlite://./mydb.db")?;
22//! let pool = SqlitePool::new(config).await?;
23//!
24//! // Use the pool...
25//! Ok(())
26//! }
27//! ```
28
29pub mod config;
30pub mod connection;
31pub mod engine;
32pub mod error;
33pub mod pool;
34pub mod row;
35pub mod types;
36
37pub use config::{DatabasePath, JournalMode, SqliteConfig, SynchronousMode};
38pub use connection::SqliteConnection;
39pub use engine::{SqliteEngine, SqliteQueryResult};
40pub use error::{SqliteError, SqliteResult};
41pub use pool::{PoolConfig, SqlitePool, SqlitePoolBuilder};
42pub use row::FromSqliteRow;