Crate elif_orm

Crate elif_orm 

Source
Expand description

§elif-orm: Database Layer for elif.rs

Production-ready ORM with modular architecture featuring:

  • Core database abstraction layer
  • Query building and execution
  • Model system with relationships
  • Migration and schema management
  • Factory system for testing
  • Connection pool management

§New Modular Architecture

The ORM is organized into 6 main domains:

  • backends/ - Database backend abstractions (PostgreSQL, etc.)
  • connection/ - Connection pool management and health monitoring
  • transactions/ - Transaction lifecycle and isolation management
  • query/ - Query building and execution
  • sql/ - SQL generation and security
  • models/ - Model traits and CRUD operations
  • relationships/ - Relationship system and loading
  • loading/ - Eager/lazy loading strategies
  • migrations/ - Schema migrations
  • factories/ - Model factories and test data

Re-exports§

pub use error::ModelError;
pub use error::ModelResult;
pub use error::OrmError;
pub use error::OrmResult;
pub use database::DatabasePool;
pub use database::DatabaseServiceProvider;
pub use database::PoolError;
pub use database::PoolHealthReport;
pub use model::CrudOperations;
pub use model::Model;
pub use model::PrimaryKey;
pub use query::QueryBuilder;
pub use transaction::IsolationLevel;
pub use transaction::Transaction;
pub use migration::Migration;
pub use migration::MigrationManager;
pub use migration::MigrationRunResult as MigrationResult;
pub use migration::MigrationStatus;
pub use migration::RollbackResult;
pub use relationships::relationship_traits::Relationship;
pub use relationships::RelationshipCache;
pub use relationships::RelationshipConstraint;
pub use relationships::RelationshipMetadata;
pub use relationships::RelationshipRegistry;
pub use relationships::RelationshipType;
pub use backends::DatabaseBackendRegistry;
pub use backends::DatabaseBackendType;
pub use backends::DatabasePoolConfig;
pub use backends::PostgresBackend;
pub use event_error::EventError;
pub use events::ModelEvent;
pub use events::ModelObserver;
pub use model::lifecycle::ModelLifecycle;
pub use observers::GlobalObserverRegistry;
pub use observers::ObserverManager;
pub use observers::ObserverRegistry;

Modules§

backends
Database Backend Abstractions
connection
Connection Management
database
Database Integration - Service providers for database connectivity
error
Error types for the ORM system
event_error
events
factories
Factory System
factory
Database Factory System
loading
migration
Database migrations for elif-orm
migration_runner
Migration runner - backward compatibility module
migrations
Modular migration system
model
Model System - Modular model trait system for database entities
models
Model System
observers
query
Query Builder Module - Type-safe, fluent query builder for complex database operations
relationships
Relationships Module - Complete relationship system with eager loading
security
Security utilities for SQL injection prevention
sql
SQL Generation and Security
transaction
Transaction Management
transactions
Transaction Management

Macros§

factory_state
Macro for creating custom states easily
impl_factory
Macro for easily implementing the Factory trait
register_relationship
Convenience macro for registering relationships
relationship_hints
Macro helper for generating relationship hints