pub trait SoftDelete: Model {
// Provided methods
fn deleted_at_column() -> &'static str { ... }
fn soft_delete(&self, executor: &mut impl Executor) -> OrmResult<()> { ... }
fn restore(&self, executor: &mut impl Executor) -> OrmResult<()> { ... }
fn find_active() -> QueryBuilder<Self> { ... }
fn find_with_trashed() -> QueryBuilder<Self> { ... }
fn find_only_trashed() -> QueryBuilder<Self> { ... }
}Expand description
Marker trait for models with a deleted_at timestamp column.
When implemented, QueryBuilder can automatically scope queries to exclude
soft-deleted rows (via with_soft_delete_scope()), and the model gains
soft_delete() and restore() helpers.
Provided Methods§
Sourcefn deleted_at_column() -> &'static str
fn deleted_at_column() -> &'static str
The column name used for soft-delete timestamps (default: "deleted_at").
Sourcefn soft_delete(&self, executor: &mut impl Executor) -> OrmResult<()>
fn soft_delete(&self, executor: &mut impl Executor) -> OrmResult<()>
Soft-delete this model by setting deleted_at = NOW().
Sourcefn restore(&self, executor: &mut impl Executor) -> OrmResult<()>
fn restore(&self, executor: &mut impl Executor) -> OrmResult<()>
Restore a soft-deleted model by setting deleted_at = NULL.
Sourcefn find_active() -> QueryBuilder<Self>
fn find_active() -> QueryBuilder<Self>
Returns a QueryBuilder pre-scoped to exclude soft-deleted rows.
Sourcefn find_with_trashed() -> QueryBuilder<Self>
fn find_with_trashed() -> QueryBuilder<Self>
Returns a QueryBuilder that includes soft-deleted rows.
Sourcefn find_only_trashed() -> QueryBuilder<Self>
fn find_only_trashed() -> QueryBuilder<Self>
Returns a QueryBuilder scoped to only soft-deleted rows.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.