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));