typescript - Typescript typeorm:如何获取注释参数
问题描述
我们在我们的项目中使用 typeorm 并且有这样的实体:
@Entity({ name: 'contacts', database: Schemas.interfax75 })
export class OutgoingLog {
@PrimaryGeneratedColumn({ name: 'TransactionID' })
transactionId: number;
@Column({ name: 'SubmitTime', type: 'datetime', default: '0000-00-00 00:00:00' })
submitTime: Date;
// more properties here
}
我想获取注释的名称属性。transactionId
因此,知道我想要获取字符串的属性名称TransactionID
。是否可以在打字稿中做到这一点?
我知道有 package reflect-metadata
,但它的文档很差,我真的不明白是否可以使用它。
这就是生成的js代码。
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
//...
__decorate([
typeorm_1.PrimaryGeneratedColumn({ name: 'TransactionID' }),
__metadata("design:type", Number)
], OutgoingLog.prototype, "transactionId", void 0);
解决方案
您可以简单地使用 TypeORM API
getConnection()
.getMetadata(OutgoingLog)
.ownColumns
.map(column => {
// Do what you want with column
// For example, log it into console
// And check all fields — `properyName` and others
console.log(column)
})
我的建议来源——https: //github.com/typeorm/typeorm/issues/1764
推荐阅读
- php - PHPUnit 警告 - 未配置过滤器,不会处理代码覆盖率
- matlab - 防止 MATLAB 的 readtable 函数忽略分隔文本数据文件的第一行
- javascript - 如何获取 ng-repeat 的 ElementById 内容?
- python - AuthenticationError Google Dive API client_secrets.json
- plot - 使用包 gratia 绘制 GAMM 模型结果
- c# - 如何传递列表(sql join)以在c#中查看?
- javascript - 将 json 输出草绘到 html
- sql - 非联合查询列未按预期结果
- .net - Dapper 精确查询被发送到数据库引擎
- cuda - 测量 const 内存访问延迟会产生奇怪的结果