如何在 NestJS 的 TypeORM 中编写 setval()?

How to write setval() in TypeORM in NestJS?

我在 NestJS 中使用 TypeORM 和 PostgreSQL,我遇到了一个名为 error: duplicate key value violates unique constraint "message_pkey" 的问题。我已经搜索并发现它是一个,但是为了解决这个问题,我必须写这个查询:

SELECT setval('TABLENAME_id_seq', (SELECT MAX(id) FROM "TABLENAME"));
// Change TABLENAME with your table

但我找不到如何在 TypeORM 或 NestJS 的查询构建器中编写它?

也许 raw SQL query 是一个可能的解决方案:

import { getManager } from 'typeorm';

const table = 'tablename';
await getManager().query(`SELECT setval('${table}_id_seq', (SELECT MAX(id) FROM "${table}"))`);