Function tx_delete

Source
pub async fn tx_delete<T>(
    transaction: Transaction<'_>,
    entity: T,
) -> Result<(Transaction<'_>, u64), Error>
where T: SqlQuery<T> + SqlParams + Send + Sync + 'static,
Expand description

Deletes a record within a transaction.

§Arguments

  • transaction - An active transaction
  • entity - Data object containing delete conditions (must implement SqlQuery and SqlParams traits)

§Return Value

  • Result<(Transaction<'_>, u64), Error> - On success, returns the transaction and number of deleted records

§Example

#[derive(Deletable, SqlParams)]
#[table("users")]
#[where_clause("id = $")]
struct DeleteUser {
    id: i64,
}

let user = DeleteUser { id: 1 };

let transaction = transactional::begin(&client).await?;
let (transaction, deleted) = transactional::tx_delete(transaction, user).await?;
transaction.commit().await?;