| Crates.io | emixseaorm |
| lib.rs | emixseaorm |
| version | 0.6.0 |
| created_at | 2026-01-11 15:55:06.739531+00 |
| updated_at | 2026-01-11 15:55:06.739531+00 |
| description | SeaORM repositories, filters, and migrations following EssentialMix conventions. |
| homepage | |
| repository | https://github.com/asm2025/essentialmix-rs |
| max_upload_size | |
| id | 2036001 |
| size | 66,426 |
emixseaorm mirrors the repository abstractions from the Diesel crate while
speaking SeaORM. It keeps filtering, pagination, and relationship handling
consistent across database backends.
sqlite, postgres, mysql: Pick your database driver.mariadb: Alias for the MySQL stack.full: Enable every supported backend.[dependencies]
emixseaorm = { path = "../../crates/db/seaorm", features = ["sqlite"] }
use emixseaorm::prelude::*;
use emixseaorm::repositories::{ClosureFilter, TFilterCondition};
use sea_orm::{Condition, EntityTrait};
use entity::posts; // generated by sea-orm-cli
let filter = ClosureFilter::new(|| Condition::all().add(posts::Column::Published.eq(true)));
let query = filter.apply(posts::Entity::find());
let published = query.all(&db).await?;
TFilterCondition and TFilterRelatedCondition to express joins.emixdb::dto::{Pagination, ResultSet} for consistent API responses.