Skip to main content

Delete using Query Builder

Delete

You can create DELETE queries using QueryBuilder. Examples:

import {getConnection} from "typeorm";

await getConnection()
.createQueryBuilder()
.delete()
.from(User)
.where("id = :id", { id: 1 })
.execute();

This is the most efficient way in terms of performance to delete entities from your database.


Soft-Delete

Applying Soft Delete to QueryBuilder

import {createConnection} from "typeorm";
import {Entity} from "./entity";

createConnection(/*...*/).then(async connection => {

await connection
.getRepository(Entity)
.createQueryBuilder()
.softDelete()

}).catch(error => console.log(error));

Restore-Soft-Delete

Alternatively, You can recover the soft deleted rows by using the restore() method:

import {createConnection} from "typeorm";
import {Entity} from "./entity";

createConnection(/*...*/).then(async connection => {

await connection
.getRepository(Entity)
.createQueryBuilder()
.restore()

}).catch(error => console.log(error));