Expand description
§StateSet DB
Database implementations for StateSet iCommerce.
§Features
sqlite(default): SQLite database support via rusqlitepostgres: PostgreSQL database support via sqlx (async)vector: Vector search support via sqlite-vec extensionsaga: Experimental persisted saga coordinator (PostgreSQL-only)
§Usage
§SQLite (default)
ⓘ
use stateset_db::{SqliteDatabase, DatabaseConfig};
let db = SqliteDatabase::new(&DatabaseConfig::sqlite("./store.db"))?;§PostgreSQL
ⓘ
use stateset_db::{PostgresDatabase, DatabaseConfig};
let db = PostgresDatabase::connect(&DatabaseConfig::postgres("postgres://localhost/stateset")).await?;§Error Handling
This crate uses typed errors via stateset_core::DbError for better
debugging and error categorization. Use the error helper functions
in the error_helpers module for converting backend-specific errors.
Re-exports§
pub use http_idempotency::HttpIdempotencyRecord;pub use http_idempotency::HttpIdempotencyRepository;pub use sqlite::SqliteDatabase;sqlite
Modules§
- audit
sqlite - Audit log for tracking critical mutations.
- backup
sqlite - Backup and restore utilities for embedded SQLite databases
- error_
helpers - Error conversion helpers for database backends
- http_
idempotency - Durable HTTP idempotency response store.
- maintenance
sqlite - Backup and restore for embedded SQLite databases.
- migrations
sqlite - Database migrations
- portability
- Full-fidelity structured export and import.
- sqlite
sqlite - SQLite database implementation
- transactions
- Transaction abstraction with saga support
Macros§
- map_
sqlite_ err sqlite - Helper macro for mapping SQLite errors with context
- parse_
ctx sqlite - Macro to create a context tuple for parsing functions.
Structs§
- Database
Config - Database configuration
- Transaction
Options - Options for transaction execution
Enums§
- Database
Capability - Optional domain capability exposed by a database backend.
- Transaction
Isolation - Transaction isolation levels
Constants§
- DEFAULT_
POSTGRES_ POOL_ SIZE - Default PostgreSQL pool size when
STATESET_DB_MAX_CONNECTIONSis unset.
Traits§
- Database
- Unified database trait that both SQLite and PostgreSQL implement. This allows stateset-embedded to work with either backend.
- Database
Ext sqlite - Extension trait for database transaction support.
- Transaction
Context - Context for operations within a transaction