| Crates.io | emixdiesel |
| lib.rs | emixdiesel |
| version | 0.6.0 |
| created_at | 2026-01-11 15:49:01.93682+00 |
| updated_at | 2026-01-11 15:49:01.93682+00 |
| description | Async Diesel repositories, filters, and migrations aligned with EssentialMix patterns. |
| homepage | |
| repository | https://github.com/asm2025/essentialmix-rs |
| max_upload_size | |
| id | 2035994 |
| size | 62,903 |
emixdiesel offers repository traits, DTO helpers, and opinionated filters for
building async Diesel-based data access layers that stay compatible with the
rest of EssentialMix.
sqlite / postgres / mysql: Enable the respective Diesel backends.sqlite-bundled, postgres-bundled, mysql-bundled: Pull in vendored client
libraries so you can build without system dependencies.full: Turn on every backend (non-bundled).full-bundled: Turn on every backend with vendored client libraries.[dependencies]
emixdiesel = { path = "../../crates/db/diesel", features = ["postgres"] }
use emixdiesel::prelude::*;
use emixdiesel::{ClosureFilter, TFilterQuery};
use crate::schema::posts::dsl::*;
// Start from any boxed Diesel query (useful inside repositories).
let query = posts.into_boxed();
// Wrap your filtering logic so it composes with the repository traits.
let only_published = ClosureFilter::new(|q| q.filter(published.eq(true)));
let filtered = only_published.apply(query);