I am trying to get soft deleted doc from postgreSQL database using typeorm find, findOne or query builder get/getMany methods, but it always return undefined. Is there a way to get deleted value?
By the docs it should only set a timestamp for deletedAt, and it definitely works, because I can update same record using update where from query builder.
I found out there is another solution. You can use the querybuilders .withDeleted() method to also return soft deleted entities.
Example
 const query = await this.manager
        .getRepository(FolderEntity)
        .withDeleted() 
        .createQueryBuilder('folder')
        .leftJoinAndSelect('folder.subStatus', 'status')
        .getMany()
                        Actually referring to the findOptions doc you can pass the withDeleted boolean that will retrieve the soft deleted rows.
for example:
const result = await this.repo.find({ where: { id }, withDeleted: true })
                        After more searching I found that only solution is to use raw sql query for that as it is shown in typeorm docs at the query block.
const deletedEntity = await connection
    .getRepository(Entity)
    .query(`SELECT * FROM Entity where id = '${deletedEntityId}'`)
This query returns values with deletedAt timestamp.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With