Метод deleteAll предназначен для массового удаления записей из таблицы в базе данных. Он принимает контекст записи, а также опции для фильтрации удаляемых записей и управления их количеством.
table.deleteAll(ctx, options)
ctx*: WriteCtx
Контекст записи, необходимый для выполнения операции. Он используется для управления транзакциями и хранения информации о текущем запросе.
options: HsDeleteAllOptions<HSP>
- Опции удаления, которые включают:
HsFilter<HSP> | null | undefined
— Условие фильтрации записей, которые будут удалены. Можно указать фильтр для удаления только тех записей, которые соответствуют определённым критериям.number | null
— Ограничение на количество записей, которые можно удалить. Если указано значение null
, то ограничение не применяется и удаляются все записи, подходящие под условие where. По умолчанию limit = 1
, чтобы избежать случайного удаления большего количества записей, чем ожидается. Важно: если количество записей, соответствующих условию where, превышает limit, никакие записи не будут удалены, и произойдет ошибка.boolean
— Указывает, будет ли удаление "жёстким" (безвозвратным) или "мягким" (с возможностью восстановления). Значение по умолчанию — false
, что означает "мягкое" удаление (например, с установкой флага удаления).Возвращаемое значение: Promise<number>
const deletedCount = await heapTableRepo.deleteAll(ctx, {
where: { status: 'inactive' },
limit: 10,
hard: true
});
console.log(`Количество удаленных записей: ${deletedCount}`);