Expand description
§Armature SeaORM
SeaORM database integration for the Armature framework.
This crate provides seamless integration with SeaORM, a full-featured async ORM for Rust with active record pattern support.
§Features
- Multiple Backends: PostgreSQL, MySQL, and SQLite support
- Connection Pooling: Built-in connection pooling via SQLx
- Transaction Management: Easy-to-use transaction helpers
- DI Integration: Works with Armature’s dependency injection
- Migration Support: Integrated migration system
- Active Record: Entity-based CRUD operations
§Quick Start
ⓘ
use armature_seaorm::{Database, DatabaseConfig};
// Create configuration
let config = DatabaseConfig::new("postgres://user:pass@localhost/db")
.max_connections(10)
.connect_timeout(Duration::from_secs(5));
// Connect to database
let db = Database::connect(config).await?;
// Query entities
let users = User::find().all(&db).await?;§With Transactions
ⓘ
use armature_seaorm::TransactionExt;
db.transaction(|txn| async move {
let user = user::ActiveModel {
name: Set("Alice".to_owned()),
..Default::default()
};
user.insert(&txn).await?;
Ok(())
}).await?;Re-exports§
Modules§
- prelude
- Prelude module for commonly used types.
Structs§
- Cursor
Options - Cursor-based pagination options.
- Cursor
Paginated - Cursor-paginated result.
- Database
- Database wrapper providing connection management.
- Database
Config - Configuration for a SeaORM database connection.
- Database
Health - Health check for the database.
- Paginated
- A paginated result set.
- Pagination
Meta - Pagination metadata.
- Pagination
Options - Pagination options.
- Query
Builder - Query builder for common query patterns.
- Search
Filters - Search filters parsed from query parameters.
- Transaction
Options - Transaction options for advanced control.
Enums§
- Cursor
Direction - Cursor direction.
- Database
Backend - Database backend types.
- Isolation
Level - Transaction isolation levels.
- SeaOrm
Error - Errors that can occur when using the SeaORM integration.
- Sort
Order - Sort order.
Traits§
- Paginate
- Extension trait for paginated queries.
- Query
Ext - Extension trait for query helpers.
- Transaction
Ext - Extension trait for transaction management.
Functions§
- run_
transaction - Helper to run a transactional closure.
- run_
transaction_ with_ isolation - Helper to run a transactional closure with custom isolation.
Type Aliases§
- SeaOrm
Result - Result type alias for SeaORM operations.