Nestjs,如何获取实体 table 名称?
Nestjs, How to get entity table name?
如何获取实体 table 名称? (例如:会员预售详情)
我要设置table评论
// 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
- 平台:Mac
我猜你正在使用 TypeORM。在那种情况下:
您可以通过调用 connection.getMetadata(MemberPreSaleDetail)
获取实体元数据。
此方法 returns 一个 EntityMetadata,它具有 name
、tableName
和 givenTableName
属性。对于您的用例,我想您可以简单地使用 givenTableName
.
如何获取实体 table 名称? (例如:会员预售详情) 我要设置table评论
// 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 - 平台:Mac我猜你正在使用 TypeORM。在那种情况下:
您可以通过调用 connection.getMetadata(MemberPreSaleDetail)
获取实体元数据。
此方法 returns 一个 EntityMetadata,它具有 name
、tableName
和 givenTableName
属性。对于您的用例,我想您可以简单地使用 givenTableName
.