Javascript 类型化定制装饰器
我希望能够向实体模型中添加自定义装饰器,以标记用户元数据迁移的特定字段 比如说,Javascript 类型化定制装饰器,javascript,node.js,typescript,typeorm,Javascript,Node.js,Typescript,Typeorm,我希望能够向实体模型中添加自定义装饰器,以标记用户元数据迁移的特定字段 比如说, import {Entity, PrimaryGeneratedColumn, Column} from "typeorm"; import { CreatedBy } from "../subscribers/test"; @Entity() export class User { @PrimaryGeneratedColumn() id!: numbe
import {Entity, PrimaryGeneratedColumn, Column} from "typeorm";
import { CreatedBy } from "../subscribers/test";
@Entity()
export class User {
@PrimaryGeneratedColumn()
id!: number;
@Column()
name!: string;
@Migrate()
userValue!: string;
@Migrate()
specficValue!: string;
}
其中migrate可以像一个列装饰器,但是我可以使用一个用户模型,找到所有具有migrate装饰器的属性,这样我就知道应该向前拉哪些属性
有没有一种方法可以在typeform中实现这一点
感谢您的帮助。查看以下github tapeorm问题: 具体而言,我将检查“ColumnComonOptions”装饰器的工作原理: 这似乎很直截了当:
// MigrateDecorator.ts
import { getMetadataArgsStorage } from "typeorm";
//Optional
import { MigrateOptionsInterface } from './MigrateOptionsInterface'
export function MigrateDecorator(options?: MigrateOptionsInterface): Function {
return function (object: Object, propertyName: string) {
getMetadataArgsStorage().columns.push({
propertyName,
migrate: options.migrate || false // just an example
});
};
}
这看起来不错,但接下来我如何提取元数据来表示“此列被标记为已使用decorator迁移”?此元数据似乎无法直接在实体上访问?