elif_orm/
lib.rs

1//! # elif-orm: Database Layer for elif.rs
2//!
3//! Production-ready ORM with modular architecture featuring:
4//! - Core database abstraction layer
5//! - Query building and execution
6//! - Model system with relationships
7//! - Migration and schema management
8//! - Factory system for testing
9//! - Connection pool management
10//!
11//! ## New Modular Architecture
12//!
13//! The ORM is organized into 6 main domains:
14//! - `backends/` - Database backend abstractions (PostgreSQL, etc.)
15//! - `connection/` - Connection pool management and health monitoring
16//! - `transactions/` - Transaction lifecycle and isolation management
17//! - `query/` - Query building and execution
18//! - `sql/` - SQL generation and security
19//! - `models/` - Model traits and CRUD operations
20//! - `relationships/` - Relationship system and loading
21//! - `loading/` - Eager/lazy loading strategies
22//! - `migrations/` - Schema migrations
23//! - `factories/` - Model factories and test data
24
25// New modular architecture
26pub mod backends;
27pub mod connection;
28pub mod transactions;
29pub mod query;
30pub mod sql;
31pub mod models;
32pub mod relationships;
33pub mod loading;
34pub mod migrations;
35pub mod factories;
36
37// Legacy modules (maintained for backward compatibility)
38pub mod model;
39pub mod error;
40pub mod database;
41pub mod transaction;
42pub mod migration;
43pub mod migration_runner;
44pub mod security;
45pub mod factory;
46
47#[cfg(test)]
48mod tests;
49
50#[cfg(test)]
51mod transaction_tests;
52
53
54#[cfg(test)]  
55mod security_tests_minimal;
56
57#[cfg(test)]
58mod security_tests_comprehensive;
59
60#[cfg(test)]
61mod security_injection_tests;
62
63
64// Re-export core traits and types
65pub use model::*;
66pub use query::*;
67pub use error::*;
68pub use database::*;
69pub use transaction::*;
70pub use migration::*;
71pub use migration_runner::*;
72pub use relationships::*;
73pub use security::*;
74pub use backends::*;
75pub use factory::*;
76
77// Derive macro re-exports (when implemented in future)
78// pub use elif_orm_derive::*;