Skip to content

Add soft delete support #8

@quinnjr

Description

@quinnjr

Description

Implement soft delete functionality with automatic filtering of deleted records.

Tasks

  • Add @softDelete schema attribute
  • Auto-filter deleted records on queries
  • Add withDeleted() to include soft-deleted
  • Add onlyDeleted() to query only deleted
  • Support custom deleted_at column name
  • Add restore() operation

Schema Example

model User {
    id        Int       @id @auto
    email     String
    deletedAt DateTime? @softDelete
}

Query Examples

// Automatically excludes soft-deleted
let users = client.user().find_many().exec().await?;

// Include soft-deleted
let all = client.user().find_many().with_deleted().exec().await?;

// Only deleted
let deleted = client.user().find_many().only_deleted().exec().await?;

// Restore
client.user().restore(user::id::equals(1)).exec().await?;

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions