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

q8l4jmvw  于 2023-06-22  发布在  Node.js
关注(0)|答案(1)|浏览(177)

如何获取实体表名?(ex:member-pre-sale-detail)我要设置表评论

// Seeder: Clear & set Comment
export default class ClearAllSeed implements Seeder {
    public async run(factory: Factory, connection: Connection): Promise<void> {

        const deleteEntities = [
            {table: OrderHead, comment: '訂單/主表'},
       ]

       for(const entity of deleteEntities){
            await connection
                .createQueryBuilder()
                .delete()
                .from(entity.table)
                .execute();

            await connection
                // >>>> but table name is MemberPreSaleDetail not member-pre-sale-detail
                .query(`alter table ${entity.table.name} comment '${entity.comment}'`);
        }
   }
}

// Sampel Entity
@Entity('member-pre-sale-detail')
export class MemberPreSaleDetail {
  @PrimaryGeneratedColumn({unsigned: true})
  id?: number;

  @Column({comment: '幾批(整批)', type: 'mediumint', default: 0})
  batchQty: number;
}

预期行为

获取'member-pre-sale-detail'字符串

环境

嵌套版本:7.0.7工具问题:- 节点版本:v14.5.0 -平台:麦克

wdebmtf2

wdebmtf21#

我猜你正在使用TypeORM。在这种情况下:
您可以通过调用connection.getMetadata(MemberPreSaleDetail)来获取实体元数据。
此方法返回EntityMetadata,它具有nametableNamegivenTableName属性。对于你的用例,我想你可以简单地使用givenTableName

相关问题