Nestjs,如何获取实体表名称?

5 node.js typeorm nestjs

如何获取实体表名?(例如: 会员预售详情)\n我想设置表格注释

\n
// Seeder: Clear & set Comment\nexport default class ClearAllSeed implements Seeder {\n    public async run(factory: Factory, connection: Connection): Promise<void> {\n\n\n        const deleteEntities = [\n            {table: OrderHead, comment: '\xe8\xa8\x82\xe5\x96\xae/\xe4\xb8\xbb\xe8\xa1\xa8'},\n       ]\n\n       for(const entity of deleteEntities){\n            await connection\n                .createQueryBuilder()\n                .delete()\n                .from(entity.table)\n                .execute();\n\n            await connection\n                // >>>> but table name is MemberPreSaleDetail not member-pre-sale-detail\n                .query(`alter table ${entity.table.name} comment '${entity.comment}'`);\n        }\n   }\n}\n\n// Sampel Entity\n@Entity('member-pre-sale-detail')\nexport class MemberPreSaleDetail {\n  @PrimaryGeneratedColumn({unsigned: true})\n  id?: number;\n\n  @Column({comment: '\xe5\xb9\xbe\xe6\x89\xb9(\xe6\x95\xb4\xe6\x89\xb9)', type: 'mediumint', default: 0})\n  batchQty: number;\n}\n
Run Code Online (Sandbox Code Playgroud)\n

预期行为

\n

获取“会员预售详情”字符串

\n

环境

\n\nNest 版本: 7.0.7\n \n对于工具问题:\n- 节点版本: v14.5.0\n- 平台: Mac\n

Yan*_*ser 6

我猜你正在使用 TypeORM。在这种情况下:

您可以通过调用获取实体元数据connection.getMetadata(MemberPreSaleDetail)

此方法返回一个EntityMetadata,它具有nametableNamegivenTableName属性。对于您的用例,我想您可以简单地使用givenTableName.