Interface DestroyOptions<TAttributes>

Options accepted by Model.destroy.

Type Parameters

  • TAttributes = any



benchmark?: boolean

Pass query execution time in milliseconds as second argument to logging function (options.logging).

cascade?: boolean

Only used in conjunction with TRUNCATE. Truncates all tables that have foreign-key references to the named table, or to any tables added to the group due to CASCADE.


connection?: null | Connection

The connection on which this query must be run. Mutually exclusive with Transactionable.transaction.

Can be used to ensure that a query is run on the same connection as a previous query, which is useful when configuring session options.

Specifying this option takes precedence over CLS Transactions. If a transaction is running in the current AsyncLocalStorage context, it will be ignored in favor of the specified connection.

force?: boolean

Delete instead of setting deletedAt to current timestamp (only applicable if paranoid is enabled)


hooks?: boolean

If false the applicable hooks will not be called. The default value depends on the context.


individualHooks?: boolean

If set to true, destroy will SELECT all records matching the where parameter and will execute before / after destroy hooks on each row


limit?: Nullish<number | Literal>

How many rows to delete

logging?: boolean | ((sql, timing?) => void)

A function that gets executed while running the query to log the sql.

Type declaration

    • (sql, timing?): void
    • Parameters

      • sql: string
      • Optional timing: number

      Returns void

restartIdentity?: boolean

Only used in conjunction with truncate. Automatically restart sequences owned by columns of the truncated table


transaction?: null | Transaction

The transaction in which this query must be run. Mutually exclusive with Transactionable.connection.

If Options.disableClsTransactions has not been set to true, and a transaction is running in the current AsyncLocalStorage context, that transaction will be used, unless null or another Transaction is manually specified here.

truncate?: boolean

If set to true, dialects that support it will use TRUNCATE instead of DELETE FROM. If a table is truncated the where and limit options are ignored.

Danger: This will completely empty your table!


use Model.truncate.

where?: WhereOptions<TAttributes>

The WHERE clause. Can be many things from a hash of attributes to raw SQL.

Visit for more information.

Generated using TypeDoc