Skip to main content

Class: BulkDeleteBuilder<T>

Defined in: src/bulk/BulkDeleteBuilder.ts:30

High-performance bulk delete engine for removing multiple rows matching filter conditions.

Automatically respects @SoftDelete annotations unless hardDelete: true is explicitly requested.

Usecase​

Purging expired records, historical log cleanups, GDPR removal, and data maintenance.

Example​

PostgreSQL / MySQL / SQLite / MSSQL:

const bulkDeleter = new BulkDeleteBuilder(adapter, 'notifications', metadata);
const deletedCount = await bulkDeleter.execute({ isRead: true, isArchived: true });

Type Parameters​

Type Parameter
T extends object

Constructors​

Constructor​

new BulkDeleteBuilder<T>(adapter, tableName, metadata?, transaction?): BulkDeleteBuilder<T>

Defined in: src/bulk/BulkDeleteBuilder.ts:31

Parameters​

ParameterType
adapterIDbAdapter
tableNamestring
metadata?EntityMetadata
transaction?DbTransaction

Returns​

BulkDeleteBuilder<T>

Methods​

execute()​

execute(predicate, options?): Promise<number>

Defined in: src/bulk/BulkDeleteBuilder.ts:45

Executes the bulk delete command matching the predicate.

Parameters​

ParameterTypeDescription
predicatePartial<T>Partial entity criteria matching rows to remove.
options?BulkDeleteOptionsDeletion options (hardDelete, batchSize).

Returns​

Promise<number>

Total number of rows deleted or soft-deleted.