Skip to main content

Crate armature_seaorm

Crate armature_seaorm 

Source
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§

pub use sea_orm;
pub use sea_query;

Modules§

prelude
Prelude module for commonly used types.

Structs§

CursorOptions
Cursor-based pagination options.
CursorPaginated
Cursor-paginated result.
Database
Database wrapper providing connection management.
DatabaseConfig
Configuration for a SeaORM database connection.
DatabaseHealth
Health check for the database.
Paginated
A paginated result set.
PaginationMeta
Pagination metadata.
PaginationOptions
Pagination options.
QueryBuilder
Query builder for common query patterns.
SearchFilters
Search filters parsed from query parameters.
TransactionOptions
Transaction options for advanced control.

Enums§

CursorDirection
Cursor direction.
DatabaseBackend
Database backend types.
IsolationLevel
Transaction isolation levels.
SeaOrmError
Errors that can occur when using the SeaORM integration.
SortOrder
Sort order.

Traits§

Paginate
Extension trait for paginated queries.
QueryExt
Extension trait for query helpers.
TransactionExt
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§

SeaOrmResult
Result type alias for SeaORM operations.